Silver Bullet ICT Strategy [TradingFinder] 10-11 AM NY Time +FVG๐ต Introduction
The ICT Silver Bullet trading strategy is a precise, time-based algorithmic approach that relies on Fair Value Gaps and Liquidity to identify high-probability trade setups. The strategy primarily focuses on the New York AM Session from 10:00 AM to 11:00 AM, leveraging heightened market activity within this critical window to capture short-term trading opportunities.
As an intraday strategy, it is most effective on lower timeframes, with ICT recommending a 15-minute chart or lower. While experienced traders often utilize 1-minute to 5-minute charts, beginners may find the 1-minute timeframe more manageable for applying this strategy.
This approach specifically targets quick trades, designed to take advantage of market movements within tight one-hour windows. By narrowing its focus, the Silver Bullet offers a streamlined and efficient method for traders to capitalize on liquidity shifts and price imbalances with precision.
In the fast-paced world of forex trading, the ability to identify market manipulation and false price movements is crucial for traders aiming to stay ahead of the curve. The Silver Bullet Indicator simplifies this process by integrating ICT principles such as liquidity traps, Order Blocks, and Fair Value Gaps (FVG).
These concepts form the foundation of a tool designed to mimic the strategies of institutional players, empowering traders to align their trades with the "smart money." By transforming complex market dynamics into actionable insights, the Silver Bullet Indicator provides a powerful framework for short-term trading success
Silver Bullet Bullish Setup :
Silver Bullet Bearish Setup :
๐ต How to Use
The Silver Bullet Indicator is a specialized tool that operates within the critical time windows of 9:00-10:00 and 10:00-11:00 in the forex market. Its design incorporates key principles from ICT (Inner Circle Trader) methodology, focusing on concepts such as liquidity traps, CISD Levels, Order Blocks, and Fair Value Gaps (FVG) to provide precise and actionable trade setups.
๐ฃ Bullish Setup
In a bullish setup, the indicator starts by marking the high and low of the session, serving as critical reference points for liquidity. A typical sequence involves a liquidity grab below the low, where the price manipulates retail traders into selling positions by breaching a key support level.
This movement is often orchestrated by smart money to accumulate buy orders. Following this liquidity grab, a market structure shift (MSS) occurs, signaled by the price breaking the CISD Levelโa confirmation of bullish intent. The indicator then highlights an Order Block near the CISD Level, representing the zone where institutional buying is concentrated.
Additionally, it identifies a Fair Value Gap, which acts as a high-probability area for price retracement and trade entry. Traders can confidently take long positions when the price revisits these zones, targeting the next significant liquidity pool or resistance level.
Bullish Setup in CAPITALCOM:US100 :
๐ฃ Bearish Setup
Conversely, in a bearish setup, the price manipulates liquidity by creating a false breakout above the high of the session. This move entices retail traders into long positions, allowing institutional players to enter sell orders.
Once the price reverses direction and breaches the CISD Level to the downside, a change of character (CHOCH) becomes evident, confirming a bearish market structure. The indicator highlights an Order Block near this level, indicating the origin of the institutional sell orders, along with an associated FVG, which represents an imbalance zone likely to be revisited before the price continues downward.
By entering short positions when the price retraces to these levels, traders align their strategies with the anticipated continuation of bearish momentum, targeting nearby liquidity voids or support zones.
Bearish Setup in OANDA:XAUUSD :
๐ต Settings
Refine Order Block : Enables finer adjustments to Order Block levels for more accurate price responses.
Mitigation Level OB : Allows users to set specific reaction points within an Order Block, including: Proximal: Closest level to the current price. 50% OB: Midpoint of the Order Block. Distal: Farthest level from the current price.
FVG Filter : The Judas Swing indicator includes a filter for Fair Value Gap (FVG), allowing different filtering based on FVG width: FVG Filter Type: Can be set to "Very Aggressive," "Aggressive," "Defensive," or "Very Defensive." Higher defensiveness narrows the FVG width, focusing on narrower gaps.
Mitigation Level FVG : Like the Order Block, you can set price reaction levels for FVG with options such as Proximal, 50% OB, and Distal.
CISD : The Bar Back Check option enables traders to specify the number of past candles checked for identifying the CISD Level, enhancing CISD Level accuracy on the chart.
๐ต Conclusion
The Silver Bullet Indicator is a cutting-edge tool designed specifically for forex traders who aim to leverage market dynamics during critical liquidity windows. By focusing on the highly active 9:00-10:00 and 10:00-11:00 timeframes, the indicator simplifies complex market concepts such as liquidity traps, Order Blocks, Fair Value Gaps (FVG), and CISD Levels, transforming them into actionable insights.
What sets the Silver Bullet Indicator apart is its precision in detecting false breakouts and market structure shifts (MSS), enabling traders to align their strategies with institutional activity. The visual clarity of its signals, including color-coded zones and directional arrows, ensures that both novice and experienced traders can easily interpret and apply its findings in real-time.
By integrating ICT principles, the indicator empowers traders to identify high-probability entry and exit points, minimize risk, and optimize trade execution. Whether you are capturing short-term price movements or navigating complex market conditions, the Silver Bullet Indicator offers a robust framework to enhance your trading performance.
Ultimately, this tool is more than just an indicator; it is a strategic ally for traders who seek to decode the movements of smart money and capitalize on institutional strategies. With the Silver Bullet Indicator, traders can approach the market with greater confidence, precision, and profitability.
Cari skrip untuk "fair value gap"
ICT Setup 03 [TradingFinder] Judas Swing NY 9:30am + CHoCH/FVG๐ต Introduction
Judas Swing is an advanced trading setup designed to identify false price movements early in the trading day. This advanced trading strategy operates on the principle that major market players, or "smart money," drive price in a certain direction during the early hours to mislead smaller traders.
This deceptive movement attracts liquidity at specific levels, allowing larger players to execute primary trades in the opposite direction, ultimately causing the price to return to its true path.
The Judas Swing setup functions within two primary time frames, tailored separately for Forex and Stock markets. In the Forex market, the setup uses the 8:15 to 8:30 AM window to identify the high and low points, followed by the 8:30 to 8:45 AM frame to execute the Judas move and identify the CISD Level break, where Order Block and Fair Value Gap (FVG) zones are subsequently detected.
In the Stock market, these time frames shift to 9:15 to 9:30 AM for identifying highs and lows and 9:30 to 9:45 AM for executing the Judas move and CISD Level break.
Concepts such as Order Block and Fair Value Gap (FVG) are crucial in this setup. An Order Block represents a chart region with a high volume of buy or sell orders placed by major financial institutions, marking significant levels where price reacts.
Fair Value Gap (FVG) refers to areas where price has moved rapidly without balance between supply and demand, highlighting zones of potential price action and future liquidity.
Bullish Setup :
Bearish Setup :
๐ต How to Use
The Judas Swing setup enables traders to pinpoint entry and exit points by utilizing Order Block and FVG concepts, helping them align with liquidity-driven moves orchestrated by smart money. This setup applies two distinct time frames for Forex and Stocks to capture early deceptive movements, offering traders optimized entry or exit moments.
๐ฃ Bullish Setup
In the Bullish Judas Swing setup, the first step is to identify High and Low points within the initial time frame. These levels serve as key points where price may react, forming the basis for analyzing the setup and assisting traders in anticipating future market shifts.
In the second time frame, a critical stage of the bullish setup begins. During this phase, the price may create a false break or Fake Break below the low level, a deceptive move by major players to absorb liquidity. This false move often causes smaller traders to enter positions incorrectly. After this fake-out, the price reverses upward, breaking the CISD Level, a critical point in the market structure, signaling a potential bullish trend.
Upon breaking the CISD Level and reversing upward, the indicator identifies both the Order Block and Fair Value Gap (FVG). The Order Block is an area where major players typically place large buy orders, signaling potential price support. Meanwhile, the FVG marks a region of supply-demand imbalance, signaling areas where price might react.
Ultimately, after these key zones are identified, a trader may open a buy position if the price reaches one of these critical areasโOrder Block or FVGโand reacts positively. Trading at these levels enhances the chance of success due to liquidity absorption and support from smart money, marking an opportune time for entering a long position.
๐ฃ Bearish Setup
In the Bearish Judas Swing setup, analysis begins with marking the High and Low levels in the initial time frame. These levels serve as key zones where price could react, helping to signal possible trend reversals. Identifying these levels is essential for locating significant bearish zones and positioning traders to capitalize on downward movements.
In the second time frame, the primary bearish setup unfolds. During this stage, price may exhibit a Fake Break above the high, causing a brief move upward and misleading smaller traders into incorrect positions. After this false move, the price typically returns downward, breaking the CISD Levelโa crucial bearish trend indicator.
With the CISD Level broken and a bearish trend confirmed, the indicator identifies the Order Block and Fair Value Gap (FVG). The Bearish Order Block is a region where smart money places significant sell orders, prompting a negative price reaction. The FVG denotes an area of supply-demand imbalance, signifying potential selling pressure.
When the price reaches one of these critical areasโthe Bearish Order Block or FVGโand reacts downward, a trader may initiate a sell position. Entering trades at these levels, due to increased selling pressure and liquidity absorption, offers traders an advantage in profiting from price declines.
๐ต Settings
Market : The indicator allows users to choose between Forex and Stocks, automatically adjusting the time frames for the "Opening Range" and "Trading Permit" accordingly: Forex: 8:15โ8:30 AM for identifying High and Low points, and 8:30โ8:45 AM for capturing the Judas move and CISD Level break. Stocks: 9:15โ9:30 AM for identifying High and Low points, and 9:30โ9:45 AM for executing the Judas move and CISD Level break.
Refine Order Block : Enables finer adjustments to Order Block levels for more accurate price responses.
Mitigation Level OB : Allows users to set specific reaction points within an Order Block, including: Proximal: Closest level to the current price. 50% OB: Midpoint of the Order Block. Distal: Farthest level from the current price.
FVG Filter : The Judas Swing indicator includes a filter for Fair Value Gap (FVG), allowing different filtering based on FVG width: FVG Filter Type: Can be set to "Very Aggressive," "Aggressive," "Defensive," or "Very Defensive." Higher defensiveness narrows the FVG width, focusing on narrower gaps.
Mitigation Level FVG : Like the Order Block, you can set price reaction levels for FVG with options such as Proximal, 50% OB, and Distal.
CISD : The Bar Back Check option enables traders to specify the number of past candles checked for identifying the CISD Level, enhancing CISD Level accuracy on the chart.
๐ต Conclusion
The Judas Swing indicator helps traders spot reliable trading opportunities by detecting false price movements and key levels such as Order Block and FVG. With a focus on early market movements, this tool allows traders to align with major market participants, selecting entry and exit points with greater precision, thereby reducing trading risks.
Its extensive customization options enable adjustments for various market types and trading conditions, giving traders the flexibility to optimize their strategies. Based on ICT techniques and liquidity analysis, this indicator can be highly effective for those seeking precision in their entry points.
Overall, Judas Swing empowers traders to capitalize on significant market movements by leveraging price volatility. Offering precise and dependable signals, this tool presents an excellent opportunity for enhancing trading accuracy and improving performance
Price Action Analyst [OmegaTools]Price Action Analyst (PAA) is an advanced trading tool designed to assist traders in identifying key price action structures such as order blocks, market structure shifts, liquidity grabs, and imbalances. With its fully customizable settings, the script offers both novice and experienced traders insights into potential market movements by visually highlighting premium/discount zones, breakout signals, and significant price levels.
This script utilizes complex logic to determine significant price action patterns and provides dynamic tools to spot strong market trends, liquidity pools, and imbalances across different timeframes. It also integrates an internal backtesting function to evaluate win rates based on price interactions with supply and demand zones.
The script combines multiple analysis techniques, including market structure shifts, order block detection, fair value gaps (FVG), and ICT bias detection, to provide a comprehensive and holistic market view.
Key Features:
Order Block Detection: Automatically detects order blocks based on price action and strength analysis, highlighting potential support/resistance zones.
Market Structure Analysis: Tracks internal and external market structure changes with gradient color-coded visuals.
Liquidity Grabs & Breakouts: Detects potential liquidity grab and breakout areas with volume confirmation.
Fair Value Gaps (FVG): Identifies bullish and bearish FVGs based on historical price action and threshold calculations.
ICT Bias: Integrates ICT bias analysis, dynamically adjusting based on higher-timeframe analysis.
Supply and Demand Zones: Highlights supply and demand zones using customizable colors and thresholds, adjusting dynamically based on market conditions.
Trend Lines: Automatically draws trend lines based on significant price pivots, extending them dynamically over time.
Backtesting: Internal backtesting engine to calculate the win rate of signals generated within supply and demand zones.
Percentile-Based Pricing: Plots key percentile price levels to visualize premium, fair, and discount pricing zones.
High Customizability: Offers extensive user input options for adjusting zone detection, color schemes, and structure analysis.
User Guide:
Order Blocks: Order blocks are significant support or resistance zones where strong buyers or sellers previously entered the market. These zones are detected based on pivot points and engulfing price action. The strength of each block is determined by momentum, volume, and liquidity confirmations.
Demand Zones: Displayed in shades of blue based on their strength. The darker the color, the stronger the zone.
Supply Zones: Displayed in shades of red based on their strength. These zones highlight potential resistance areas.
The zones will dynamically extend as long as they remain valid. Users can set a maximum number of order blocks to be displayed.
Market Structure: Market structure is classified into internal and external shifts. A bullish or bearish market structure break (MSB) occurs when the price moves past a previous high or low. This script tracks these breaks and plots them using a gradient color scheme:
Internal Structure: Short-term market structure, highlighting smaller movements.
External Structure: Long-term market shifts, typically more significant.
Users can choose how they want the structure to be visualized through the "Market Structure" setting, choosing from different visual methods.
Liquidity Grabs: The script identifies liquidity grabs (false breakouts designed to trap traders) by monitoring price action around highs and lows of previous bars. These are represented by diamond shapes:
Liquidity Buy: Displayed below bars when a liquidity grab occurs near a low.
Liquidity Sell: Displayed above bars when a liquidity grab occurs near a high.
Breakouts: Breakouts are detected based on strong price momentum beyond key levels:
Breakout Buy: Triggered when the price closes above the highest point of the past 20 bars with confirmation from volume and range expansion.
Breakout Sell: Triggered when the price closes below the lowest point of the past 20 bars, again with volume and range confirmation.
Fair Value Gaps (FVG): Fair value gaps (FVGs) are periods where the price moves too quickly, leaving an unbalanced market condition. The script identifies these gaps:
Bullish FVG: When there is a gap between the low of two previous bars and the high of a recent bar.
Bearish FVG: When a gap occurs between the high of two previous bars and the low of the recent bar.
FVGs are color-coded and can be filtered by their size to focus on more significant gaps.
ICT Bias: The script integrates the ICT methodology by offering an auto-calculated higher-timeframe bias:
Long Bias: Suggests the market is in an uptrend based on higher timeframe analysis.
Short Bias: Indicates a downtrend.
Neutral Bias: Suggests no clear directional bias.
Trend Lines: Automatic trend lines are drawn based on significant pivot highs and lows. These lines will dynamically adjust based on price movement. Users can control the number of trend lines displayed and extend them over time to track developing trends.
Percentile Pricing: The script also plots the 25th percentile (discount zone), 75th percentile (premium zone), and a fair value price. This helps identify whether the current price is overbought (premium) or oversold (discount).
Customization:
Zone Strength Filter: Users can set a minimum strength threshold for order blocks to be displayed.
Color Customization: Users can choose colors for demand and supply zones, market structure, breakouts, and FVGs.
Dynamic Zone Management: The script allows zones to be deleted after a certain number of bars or dynamically adjusts zones based on recent price action.
Max Zone Count: Limits the number of supply and demand zones shown on the chart to maintain clarity.
Backtesting & Win Rate: The script includes a backtesting engine to calculate the percentage of respect on the interaction between price and demand/supply zones. Results are displayed in a table at the bottom of the chart, showing the percentage rating for both long and short zones. Please note that this is not a win rate of a simulated strategy, it simply is a measure to understand if the current assets tends to respect more supply or demand zones.
How to Use:
Load the script onto your chart. The default settings are optimized for identifying key price action zones and structure on intraday charts of liquid assets.
Customize the settings according to your strategy. For example, adjust the "Max Orderblocks" and "Strength Filter" to focus on more significant price action areas.
Monitor the liquidity grabs, breakouts, and FVGs for potential trade opportunities.
Use the bias and market structure analysis to align your trades with the prevailing market trend.
Refer to the backtesting win rates to evaluate the effectiveness of the zones in your trading.
Terms & Conditions:
By using this script, you agree to the following terms:
Educational Purposes Only: This script is provided for informational and educational purposes and does not constitute financial advice. Use at your own risk.
No Warranty: The script is provided "as-is" without any guarantees or warranties regarding its accuracy or completeness. The creator is not responsible for any losses incurred from the use of this tool.
Open-Source License: This script is open-source and may be modified or redistributed in accordance with the TradingView open-source license. Proper credit to the original creator, OmegaTools, must be maintained in any derivative works.
Liquidity Voids (FVG) [LuxAlgo]The Liquidity Voids (FVG) indicator is designed to detect liquidity voids/imbalances derived from the fair value gaps and highlight the distribution of the liquidity voids at specific price levels.
Fair value gaps and liquidity voids are both indicators of sell-side and buy-side imbalance in trading. The only difference is how they are represented in the trading chart. Liquidity voids occur when the price moves sharply in one direction forming long-range candles that have little trading activity, whilst a fair value is a gap in price.
๐ถ USAGE
Liquidity can help you to determine where the price is likely to head next. In conjunction with higher timeframe market structure, and supply and demand, liquidity can give you insights into potential price movement. It's essential to practice using liquidity alongside trend analysis and supply and demand to read market conditions effectively.
The peculiar thing about liquidity voids is that they almost always fill up. And by โfillingโ, we mean the price returns to the origin of the gap. The reason for this is that during the gap, an imbalance is created in the asset that has to be made up for. The erasure of this gap is what we call the filling of the void. And while some voids waste no time in filling, some others take multiple periods before they get filled.
๐ถ SETTINGS
The script takes into account user-defined parameters and detects the liquidity voids based on them, where detailed usage for each user-defined input parameter in indicator settings is provided with the related input's tooltip.
๐น Liquidity Detection
Liquidity Voids Threshold: Act as a filter while detecting the Liquidity Voids. When set to 0 basically means no filtering is applied, increasing the value causes the script to check the width of the void compared to a fixed-length ATR value
Bullish: Color customization option for Bullish Liquidity Voids
Bearish: Color customization option for Bearish Liquidity Voids
Labels: Toggles the visibility of the Liquidity Void label
Filled Liquidity Voids: Toggles the visibility of the Filled Liquidity Voids
๐น Display Options
Mode: Controls the lookback length of detection and visualization
# Bars: Lookback length customization, in case Mode is set to Present
๐ถ RELATED SCRIPTS
Buyside-Sellside-Liquidity
Fair-Value-Gaps
Structural Liquidity Signals [BullByte]Structural Liquidity Signals (SFP, FVG, BOS, AVWAP)
Short description
Detects liquidity sweeps (SFPs) at pivots and PD/W levels, highlights the latest FVG, tracks AVWAP stretch, arms percentile extremes, and triggers after confirmed micro BOS.
Full description
What this tool does
Structural Liquidity Signals shows where price likely tapped liquidity (stop clusters), then waits for structure to actually change before it prints a trigger. It spots:
Liquidity sweeps (SFPs) at recent pivots and at prior day/week highs/lows.
The latest Fair Value Gap (FVG) that often โpullsโ price or serves as a reaction zone.
How far price is stretched from two VWAP anchors (one from the latest impulse, one from todayโs session), scaled by ATR so it adapts to volatility.
A โpercentileโ extreme of an internal score. At extremes the script โarmsโ a setup; it only triggers after a small break of structure (BOS) on a closed bar.
Originality and design rationale, why itโs not โjust a mashupโ
This is not a mashup for its own sake. Itโs a purpose-built flow that links where liquidity is likely to rest with how structure actually changes:
- Liquidity location: We focus on areas where stops commonly clusterโrecent pivots and prior day/week highs/lowsโthen detect sweeps (SFPs) when price wicks beyond and closes back inside.
- Displacement context: We track the last Fair Value Gap (FVG) to account for recent inefficiency that often acts as a magnet or reaction zone.
- Stretch measurement: We anchor VWAP to the latest N-bar impulse and to the Daily session, then normalize stretch by ATR to assess dislocation consistently across assets/timeframes.
- Composite exhaustion: We combine stretch, wick skew, and volume surprise, then bend the result with a tanh transform so extremes are bounded and comparable.
- Dynamic extremes and discipline: Rather than triggering on every sweep, we โarmโ at statistical extremes via percent-rank and only fire after a confirmed micro Break of Structure (BOS). This separates โinterestingโ from โactionable.โ
Key concepts
SFP (liquidity sweep): A candle briefly trades beyond a level (where stops sit) and closes back inside. We detect these at:
Pivots (recent swing highs/lows confirmed by โleft/rightโ bars).
Prior Day/Week High/Low (PDH/PDL/PWH/PWL).
FVG (Fair Value Gap): A small 3โbar gap (bar2 high vs bar1 low, or vice versa). The latest gap often acts like a magnet or reaction zone. We track the most recent Up/Down gap and whether price is inside it.
AVWAP stretch: Distance from an Anchored VWAP divided by ATR (volatility). We use:
Impulse AVWAP: resets on each new Nโbar high/low.
Daily AVWAP: resets each new session.
PR (Percentile Rank): Where the current internal score sits versus its own recent history (0..100). We arm shorts at high PR, longs at low PR.
Micro BOS: A small break of the recent high (for longs) or low (for shorts). This is the โgo/noโgoโ confirmation.
How the parts work together
Find likely liquidity grabs (SFPs) at pivots and PD/W levels.
Add context from the latest FVG and AVWAP stretch (how far price is from โfairโ).
Build a bounded score (so different markets/timeframes are comparable) and compute its percentile (PR).
Arm at extremes (high PR โ short candidate; low PR โ long candidate).
Only print a trigger after a micro BOS, on a closed bar, with spacing/cooldown rules.
What you see on the chart (legend)
Lines:
Teal line = Impulse AVWAP (resets on new Nโbar extreme).
Aqua line = Daily AVWAP (resets each session).
PDH/PDL/PWH/PWL = prior day/week levels (toggle on/off).
Zones:
Greenish box = latest Up FVG; Reddish box = latest Down FVG.
The shading/border changes after price trades back through it.
SFP labels:
SFPโP = SFP at Pivot (dotted line marks that pivotโs price).
SFPโL = SFP at Level (at PDH/PDL/PWH/PWL).
Throttle: To reduce clutter, SFPs are rateโlimited per direction.
Triggers:
Triangle up = long trigger after BOS; triangle down = short trigger after BOS.
Optional badge shows direction and PR at the moment of trigger.
Optional Trigger Zone is an ATRโsized box around the trigger barโs close (for visualization only).
Background:
Light green/red shading = a long/short setup is โarmedโ (not a trigger).
Dashboard (Mini/Pro) โ what each item means
PR: Percentile of the internal score (0..100). Near 0 = bullish extreme, near 100 = bearish extreme.
Gauge: Text bar that mirrors PR.
State: Idle, Armed Long (with a countdown), or Armed Short.
Cooldown: Bars remaining before a new setup can arm after a trigger.
Bars Since / Last Px: How long since last trigger and its price.
FVG: Whether price is in the latest Up/Down FVG.
Imp/Day VWAP Dist, PD Dist(ATR): Distance from those references in ATR units.
ATR% (Gate), Trend(HTF): Status of optional regime filters (volatility/trend).
How to use it (stepโbyโstep)
Keep the Safety toggles ON (default): triggers/visuals on barโclose, optional confirmed HTF for trend slope.
Choose timeframe:
Intraday (5mโ1h) or Swing (1hโ4h). On very fast/thin charts, enable Performance mode and raise spacing/cooldown.
Watch the dashboard:
When PR reaches an extreme and an SFP context is present, the background shades (armed).
Wait for the trigger triangle:
It prints only after a micro BOS on a closed bar and after spacing/cooldown checks.
Use the Trigger Zone box as a visual reference only:
This script never tells you to buy/sell. Apply your own plan for entry, stop, and sizing.
Example:
Bullish: Sweep under PDL (SFPโL) and reclaim; PR in lower tail arms long; BOS up confirms โ long trigger on bar close (ATR-sized trigger zone shown).
Bearish: Sweep above PDH/pivot (SFPโL/P) and reject; PR in upper tail arms short; BOS down confirms โ short trigger on bar close (ATR-sized trigger zone shown).
Settings guide (with โwhen to adjustโ)
Safety & Stability (defaults ON)
Confirm triggers at bar close, Draw visuals at bar close: Keep ON for clean, stable prints.
Use confirmed HTF values: Applies to HTF trend slope only; keeps it from changing until the HTF bar closes.
Performance mode: Turn ON if your chart is busy or laggy.
Core & Context
ATR Length: Bigger = smoother distances; smaller = more reactive.
Impulse AVWAP Anchor: Larger = fewer resets; smaller = resets more often.
Show Daily AVWAP: ON if you want session context.
Use last FVG in logic: ON to include FVG context in arming/score.
Show PDH/PDL/PWH/PWL: ON to see prior day/week levels that often attract sweeps.
Liquidity & Microstructure
Pivot Left/Right: Higher values = stronger/rarer pivots.
Min Wick Ratio (0..1): Higher = only more pronounced SFP wicks qualify.
BOS length: Larger = stricter BOS; smaller = quicker confirmations.
Signal persistence: Keeps SFP context alive for a few bars to avoid flicker.
Signal Gating
PercentโRank Lookback: Larger = more stable extremes; smaller = more reactive extremes.
Arm thresholds (qHi/qLo): Move closer to 0.5 to see more arms; move toward 0/1 to see fewer arms.
TTL, Cooldown, Min bars and Min ATR distance: Space out triggers so youโre not reacting to minor noise.
Regime Filters (optional)
ATR percentile gate: Only allow triggers when volatility is at/above a set percentile.
HTF trend gate: Only allow longs when the HTF slope is up (and shorts when itโs down), above a minimum slope.
Visuals & UX
Only show โimportantโ SFPs: Filters pivot SFPs by Volume Z and |Impulse stretch|.
Trigger badges/history and Max badge count: Control label clutter.
Compact labels: Toggle SFPโP/L vs full names.
Dashboard mode and position; Dark theme.
Reading PR (the builtโin โoscillatorโ)
PR ~ 0โ10: Potential bullish extreme (long side can arm).
PR ~ 90โ100: Potential bearish extreme (short side can arm).
Important: โArmedโ โ โEnter.โ A trigger still needs a micro BOS on a closed bar and spacing/cooldown to pass.
Repainting, confirmations, and HTF notes
By default, prints wait for the bar to close; this reduces repaintโlike effects.
Pivot SFPs only appear after the pivot confirms (after the chosen โrightโ bars).
PD/W levels come from the prior completed candles and do not change intraday.
If you enable confirmed HTF values, the HTF slope will not change until its higherโtimeframe bar completes (safer but slightly delayed).
Performance tips
If labels/zones clutter or the chart lags:
Turn ON Performance mode.
Hide FVG or the Trigger Zone.
Reduce badge history or turn badge history off.
If price scaling looks compressed:
Keep optional โscoreโ/โPRโ plots OFF (they overlay price and can affect scaling).
Alerts (neutral)
Structural Liquidity: LONG TRIGGER
Structural Liquidity: SHORT TRIGGER
These fire when a trigger condition is met on a confirmed bar (with defaults).
Limitations and risk
Not every sweep/extreme reverses; false triggers occur, especially on thin markets and low timeframes.
This indicator does not provide entries, exits, or position sizingโuse your own plan and risk control.
Educational/informational only; no financial advice.
License and credits
ยฉ BullByte - MPL 2.0. Openโsource for learning and research.
Built from repeated observations of how liquidity runs, imbalance (FVG), and distance from โfairโ (AVWAPs) combine, and how a small BOS often marks the moment structure actually shifts.
SMC Structures and FVGเธชเธงเธฑเธชเธเธตเธเธฃเธฑเธ! เธเธกเธเธฐเธญเธเธดเธเธฒเธขเธญเธดเธเธเธดเนเธเนเธเธญเธฃเน "SMC Structures and FVG + MACD" เธเธตเนเธเธธเธเนเธซเนเธกเธฒเธญเธขเนเธฒเธเธฅเธฐเนเธญเธตเธขเธเนเธเนเธเนเธฅเธฐเธชเนเธงเธ เนเธเธทเนเธญเนเธซเนเธเธธเธเนเธเนเธฒเนเธเธเธฒเธฃเธเธณเธเธฒเธเธเธญเธเธกเธฑเธเธญเธขเนเธฒเธเธเนเธญเธเนเธเนเธเธฃเธฑเธ
เธญเธดเธเธเธดเนเธเนเธเธญเธฃเนเธเธตเนเนเธเนเธเธเธฒเธฃเธเธชเธกเธเธชเธฒเธเนเธเธงเธเธดเธเธเธญเธ Smart Money Concept (SMC) เธเธถเนเธเนเธเนเธเธเธฒเธฃเธงเธดเนเธเธฃเธฒเธฐเธซเนเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฅเธฒเธ (Market Structure) เนเธฅเธฐ Fair Value Gap (FVG) เนเธเนเธฒเธเธฑเธเธญเธดเธเธเธดเนเธเนเธเธญเธฃเน MACD เนเธเธทเนเธญเนเธเนเนเธเนเธเธเธฑเธงเธเธฃเธญเธเธซเธฃเธทเธญเธเธฑเธงเธขเธทเธเธขเธฑเธเธชเธฑเธเธเธฒเธ Choch/BoS (Change of Character / Break of Structure)
1. เธ เธฒเธเธฃเธงเธกเธญเธดเธเธเธดเนเธเนเธเธญเธฃเน (Overall Purpose)
เธญเธดเธเธเธดเนเธเนเธเธญเธฃเนเธเธตเนเธกเธตเธเธธเธเธเธฃเธฐเธชเธเธเนเธซเธฅเธฑเธเธเธทเธญ:
เธฃเธฐเธเธธเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฅเธฒเธ: เธเธตเนเธชเนเธเนเธฅเธฐเธเนเธฒเธขเธเธณเธเธฑเธ Choch (Change of Character) เนเธฅเธฐ BoS (Break of Structure) เธเธเธเธฃเธฒเธเนเธเธขเธญเธฑเธเนเธเธกเธฑเธเธด
เธเธชเธฒเธเธเธฒเธฃเธขเธทเธเธขเธฑเธเธเนเธงเธข MACD: เธชเธฑเธเธเธฒเธ Choch/BoS เธเธฐเธเธนเธเธเธดเธเธฒเธฃเธเธฒเธเนเธเนเธญเนเธกเธทเนเธญ MACD Histogram เนเธเธดเธเธเธฒเธฃเธเธฑเธเธเธถเนเธเธซเธฃเธทเธญเธฅเธ (Zero Cross) เนเธเธเธดเธจเธเธฒเธเธเธตเนเธชเธญเธเธเธฅเนเธญเธเธเธฑเธ
เนเธชเธเธ Fair Value Gap (FVG): เธซเธฒเธเนเธเธดเธเนเธเนเธเธฒเธ เธเธฐเธกเธตเธเธฒเธฃเธเธตเธเธฅเนเธญเธ FVG เธเธเธเธฃเธฒเธ
เนเธชเธเธเธฃเธฐเธเธฑเธ Fibonacci: เธเธณเธเธงเธเนเธฅเธฐเนเธชเธเธเธฃเธฐเธเธฑเธ Fibonacci เธเธตเนเธชเธณเธเธฑเธเธเธฒเธกเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฅเธฒเธเธเธฑเธเธเธธเธเธฑเธ
เธเธฃเธฑเธเธเธฒเธก Timeframe: เธเธฒเธฃเธเธณเธเธงเธเนเธฅเธฐเธเธฒเธฃเนเธชเธเธเธเธฅเธเธฑเนเธเธซเธกเธเธเธฐเธเธฃเธฑเธเธเธฒเธก Timeframe เธเธตเนเธเธธเธเธเธณเธฅเธฑเธเนเธเนเธเธฒเธเธญเธขเธนเนเนเธเธขเธญเธฑเธเนเธเธกเธฑเธเธด
2. เธชเนเธงเธเธเธฃเธฐเธเธญเธเธซเธฅเธฑเธเธเธญเธเนเธเนเธ (Code Breakdown)
เนเธเนเธเธเธตเนเธชเธฒเธกเธฒเธฃเธเนเธเนเธเธญเธญเธเนเธเนเธเธชเนเธงเธเธซเธฅเธฑเธ เน เนเธเนเธเธฑเธเธเธตเน:
2.1 Inputs (เธเธฒเธฃเธเธฑเนเธเธเนเธฒ)
เธชเนเธงเธเธเธตเนเธเธทเธญเธเธฑเธงเนเธเธฃเธเธตเนเธเธธเธเธชเธฒเธกเธฒเธฃเธเธเธฃเธฑเธเนเธเนเธเนเธเนเนเธเธซเธเนเธฒเธเนเธฒเธเธเธฒเธฃเธเธฑเนเธเธเนเธฒเธเธญเธเธญเธดเธเธเธดเนเธเนเธเธญเธฃเน (เธเธฅเธดเธเธเธตเนเธฃเธนเธเธเธฑเธเนเธเธทเธญเธเธเนเธฒเธเธเธทเนเธญเธญเธดเธเธเธดเนเธเนเธเธญเธฃเนเธเธเธเธฃเธฒเธ)
MACD Settings (เธเธฑเนเธเธเนเธฒ MACD):
fast_len: เธเธงเธฒเธกเธขเธฒเธงเธเธญเธ Fast EMA เธชเธณเธซเธฃเธฑเธ MACD (เธเนเธฒเนเธฃเธดเนเธกเธเนเธ 12)
slow_len: เธเธงเธฒเธกเธขเธฒเธงเธเธญเธ Slow EMA เธชเธณเธซเธฃเธฑเธ MACD (เธเนเธฒเนเธฃเธดเนเธกเธเนเธ 26)
signal_len: เธเธงเธฒเธกเธขเธฒเธงเธเธญเธ Signal Line เธชเธณเธซเธฃเธฑเธ MACD (เธเนเธฒเนเธฃเธดเนเธกเธเนเธ 9)
= ta.macd(close, fast_len, slow_len, signal_len): เธเธณเธเธงเธเธเนเธฒ MACD Line, Signal Line เนเธฅเธฐ Histogram เนเธเธขเนเธเนเธฃเธฒเธเธฒเธเธดเธ (close) เนเธฅเธฐเธเนเธฒเธเธงเธฒเธกเธขเธฒเธงเธเธตเนเธเธณเธซเธเธ
is_bullish_macd_cross: เธเธฃเธงเธเธชเธญเธเธงเนเธฒ MACD Histogram เธเธฑเธเธเธถเนเธเนเธซเธเธทเธญเนเธชเนเธ 0 (เธเธฒเธเธเนเธฒเธฅเธเนเธเนเธเธเธงเธ)
is_bearish_macd_cross: เธเธฃเธงเธเธชเธญเธเธงเนเธฒ MACD Histogram เธเธฑเธเธฅเธเนเธเนเนเธชเนเธ 0 (เธเธฒเธเธเนเธฒเธเธงเธเนเธเนเธเธฅเธ)
Fear Value Gap (FVG) Settings:
isFvgToShow: (Boolean) เนเธเธดเธ/เธเธดเธเธเธฒเธฃเนเธชเธเธ FVG เธเธเธเธฃเธฒเธ
bullishFvgColor: เธชเธตเธชเธณเธซเธฃเธฑเธ Bullish FVG
bearishFvgColor: เธชเธตเธชเธณเธซเธฃเธฑเธ Bearish FVG
mitigatedFvgColor: เธชเธตเธชเธณเธซเธฃเธฑเธ FVG เธเธตเนเธเธนเธ Mitigate (เธฅเธเธเธญเธ) เนเธฅเนเธง
fvgHistoryNbr: เธเธณเธเธงเธ FVG เธขเนเธญเธเธซเธฅเธฑเธเธเธตเนเธเธฐเนเธชเธเธ
isMitigatedFvgToReduce: (Boolean) เนเธเธดเธ/เธเธดเธเธเธฒเธฃเธฅเธเธเธเธฒเธ FVG เนเธกเธทเนเธญเธเธนเธ Mitigate
Structures (เนเธเธฃเธเธชเธฃเนเธฒเธเธเธฅเธฒเธ) Settings:
isStructBodyCandleBreak: (Boolean) เธซเธฒเธเนเธเนเธ true เธเธฒเธฃ Break เธเธฐเธเนเธญเธเนเธเธดเธเธเธถเนเธเธเนเธงเธข เนเธเธทเนเธญเนเธเธตเธขเธ เธเธตเนเธเธดเธเนเธซเธเธทเธญ/เนเธเน Swing High/Low เธซเธฒเธเนเธเนเธ false เนเธเนเนเธชเนเนเธเธตเธขเธเธเธฐเธฅเธธเธเนเธเธทเธญเธงเนเธฒ Break
isCurrentStructToShow: (Boolean) เนเธเธดเธ/เธเธดเธเธเธฒเธฃเนเธชเธเธเนเธชเนเธเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฅเธฒเธเธเธฑเธเธเธธเธเธฑเธ (เนเธชเนเธเธชเธตเธเนเธณเนเธเธดเธเนเธเธ เธฒเธเธเธฑเธงเธญเธขเนเธฒเธ)
pivot_len: เธเธงเธฒเธกเธขเธฒเธงเธเธญเธเนเธเนเธเนเธเธตเธขเธเธเธตเนเนเธเนเนเธเธเธฒเธฃเธกเธญเธเธซเธฒเธเธธเธ Pivot (Swing High/Low) เธขเธดเนเธเธเนเธฒเธเนเธญเธขเธขเธดเนเธเธเธฑเธ Swing เนเธฅเนเธเน เนเธเน, เธขเธดเนเธเธเนเธฒเธกเธฒเธเธขเธดเนเธเธเธฑเธ Swing เนเธซเธเนเน เนเธเน
bullishBosColor, bearishBosColor: เธชเธตเธชเธณเธซเธฃเธฑเธเนเธชเนเธเนเธฅเธฐเธเนเธฒเธข BOS เธเธฒเธเธถเนเธ/เธเธฒเธฅเธ
bosLineStyleOption, bosLineWidth: เธชเนเธเธฅเน (Solid, Dotted, Dashed) เนเธฅเธฐเธเธงเธฒเธกเธซเธเธฒเธเธญเธเนเธชเนเธ BOS
bullishChochColor, bearishChochColor: เธชเธตเธชเธณเธซเธฃเธฑเธเนเธชเนเธเนเธฅเธฐเธเนเธฒเธข CHoCH เธเธฒเธเธถเนเธ/เธเธฒเธฅเธ
chochLineStyleOption, chochLineWidth: เธชเนเธเธฅเน (Solid, Dotted, Dashed) เนเธฅเธฐเธเธงเธฒเธกเธซเธเธฒเธเธญเธเนเธชเนเธ CHoCH
currentStructColor, currentStructLineStyleOption, currentStructLineWidth: เธชเธต, เธชเนเธเธฅเน เนเธฅเธฐเธเธงเธฒเธกเธซเธเธฒเธเธญเธเนเธชเนเธเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฅเธฒเธเธเธฑเธเธเธธเธเธฑเธ
structHistoryNbr: เธเธณเธเธงเธเธเธฒเธฃ Break (Choch/BoS) เธขเนเธญเธเธซเธฅเธฑเธเธเธตเนเธเธฐเนเธชเธเธ
Structure Fibonacci (เธเธฒเธเนเธเนเธเธเนเธเธเธเธฑเธ):
เนเธเนเธเธเธธเธ Input เธชเธณเธซเธฃเธฑเธเนเธเธดเธ/เธเธดเธ, เธเธณเธซเธเธเธเนเธฒ, เธชเธต, เธชเนเธเธฅเน เนเธฅเธฐเธเธงเธฒเธกเธซเธเธฒเธเธญเธเนเธชเนเธ Fibonacci Levels เธเนเธฒเธเน (0.786, 0.705, 0.618, 0.5, 0.382) เธเธตเนเธเธฐเธเธนเธเธเธณเธเธงเธเธเธฒเธเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฅเธฒเธเธเธฑเธเธเธธเธเธฑเธ
2.2 Helper Functions (เธเธฑเธเธเนเธเธฑเธเธเนเธงเธขเธเธณเธเธฒเธ)
getLineStyle(lineOption): เธเธฑเธเธเนเธเธฑเธเธเธตเนเนเธเนเนเธเธฅเธเธเนเธฒ String เธเธตเนเนเธฅเธทเธญเธเธเธฒเธ Input (เนเธเนเธ "โ", "โ", "โ") เนเธซเนเนเธเนเธเธฃเธนเธเนเธเธ line.style_ เธเธตเน Pine Script เนเธเนเธฒเนเธ
get_structure_highest_bar(lookback): เธเธฑเธเธเนเธเธฑเธเธเธตเนเธเธขเธฒเธขเธฒเธกเธซเธฒ Bar Index เธเธญเธเนเธเนเธเนเธเธตเธขเธเธเธตเนเธเธณ Swing High เธ เธฒเธขเนเธเธเนเธงเธ lookback เธเธตเนเธเธณเธซเธเธ
get_structure_lowest_bar(lookback): เธเธฑเธเธเนเธเธฑเธเธเธตเนเธเธขเธฒเธขเธฒเธกเธซเธฒ Bar Index เธเธญเธเนเธเนเธเนเธเธตเธขเธเธเธตเนเธเธณ Swing Low เธ เธฒเธขเนเธเธเนเธงเธ lookback เธเธตเนเธเธณเธซเธเธ
is_structure_high_broken(...): เธเธฑเธเธเนเธเธฑเธเธเธตเนเธเธฃเธงเธเธชเธญเธเธงเนเธฒเธฃเธฒเธเธฒเธเธฑเธเธเธธเธเธฑเธเนเธเน Break เนเธซเธเธทเธญ _structureHigh (Swing High) เธซเธฃเธทเธญเนเธกเน เนเธเธขเธเธดเธเธฒเธฃเธเธฒเธเธฒเธ _highStructBreakPrice (เธฃเธฒเธเธฒเธเธดเธเธซเธฃเธทเธญเธฃเธฒเธเธฒ High เธเธถเนเธเธญเธขเธนเนเธเธฑเธเธเธฒเธฃเธเธฑเนเธเธเนเธฒ isStructBodyCandleBreak)
FVGDraw(...): เธเธฑเธเธเนเธเธฑเธเธเธตเนเธฃเธฑเธ Arrays เธเธญเธ FVG Boxes, Types, Mitigation Status เนเธฅเธฐ Labels เธกเธฒเธเธฃเธฐเธกเธงเธฅเธเธฅ เนเธเธทเนเธญเธญเธฑเธเนเธเธเธชเธเธฒเธเธฐเธเธญเธ FVG (เนเธเนเธ เธเธนเธ Mitigate เธซเธฃเธทเธญเนเธกเน) เนเธฅเธฐเธเธฃเธฑเธเธเธเธฒเธ/เธเธณเนเธซเธเนเธเธเธญเธ FVG Box เนเธฅเธฐ Label เธเธเธเธฃเธฒเธ
2.3 Global Variables (เธเธฑเธงเนเธเธฃเธเธฑเนเธงเธเธฑเนเธเธญเธดเธเธเธดเนเธเนเธเธญเธฃเน)
เนเธเนเธเธเธฑเธงเนเธเธฃเธเธตเนเธเธฃเธฐเธเธฒเธจเธเนเธงเธข var เธเธถเนเธเธซเธกเธฒเธขเธเธงเธฒเธกเธงเนเธฒเธเนเธฒเธเธญเธเธกเธฑเธเธเธฐเธเธนเธเนเธเนเธเนเธงเนเนเธฅเธฐเธญเธฑเธเนเธเธเนเธเนเธเนเธฅเธฐเนเธเนเธเนเธเธตเธขเธ (persists across bars)
structureLines, structureLabels: Arrays เธชเธณเธซเธฃเธฑเธเนเธเนเธเธญเนเธญเธเนเธเธเธเน line เนเธฅเธฐ label เธเธญเธเนเธชเนเธ Choch/BoS เธเธตเนเธงเธฒเธเธเธเธเธฃเธฒเธ
fvgBoxes, fvgTypes, fvgLabels, isFvgMitigated: Arrays เธชเธณเธซเธฃเธฑเธเนเธเนเธเธเนเธญเธกเธนเธฅเธเธญเธ FVG Boxes เนเธฅเธฐเธชเธเธฒเธเธฐเธเนเธฒเธเน
structureHigh, structureLow: เนเธเนเธเธฃเธฒเธเธฒเธเธญเธ Swing High/Low เธเธตเนเธชเธณเธเธฑเธเธเธญเธเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฅเธฒเธเธเธฑเธเธเธธเธเธฑเธ
structureHighStartIndex, structureLowStartIndex: เนเธเนเธ Bar Index เธเธญเธเธเธธเธเนเธฃเธดเนเธกเธเนเธเธเธญเธ Swing High/Low เธเธตเนเธชเธณเธเธฑเธ
structureDirection: เนเธเนเธเธชเธเธฒเธเธฐเธเธญเธเธเธดเธจเธเธฒเธเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฅเธฒเธ (1 = Bullish, 2 = Bearish, 0 = Undefined)
fiboXPrice, fiboXStartIndex, fiboXLine, fiboXLabel: เธเธฑเธงเนเธเธฃเธชเธณเธซเธฃเธฑเธเนเธเนเธเธเนเธญเธกเธนเธฅเนเธฅเธฐเธญเนเธญเธเนเธเธเธเนเธเธญเธเนเธชเนเธ Fibonacci Levels
isBOSAlert, isCHOCHAlert: (Boolean) เนเธเนเธชเธณเธซเธฃเธฑเธเธชเนเธเธชเธฑเธเธเธฒเธ Alert (เธซเธฒเธเธกเธตเธเธฒเธฃเธเธฑเนเธเธเนเธฒ Alert เนเธงเน)
2.4 FVG Processing (เธเธฒเธฃเธเธฃเธฐเธกเธงเธฅเธเธฅ FVG)
เธชเนเธงเธเธเธตเนเธเธฐเธเธฃเธงเธเธชเธญเธเนเธเธทเนเธญเธเนเธเธเธฒเธฃเนเธเธดเธ FVG (Bullish FVG: high < low , Bearish FVG: low > high )
เธซเธฒเธเนเธเธดเธ FVG เนเธฅเธฐ isFvgToShow เนเธเนเธ true เธเธฐเธกเธตเธเธฒเธฃเธชเธฃเนเธฒเธ box เนเธฅเธฐ label เนเธซเธกเนเนเธเธทเนเธญเนเธชเธเธ FVG เธเธเธเธฃเธฒเธ
เธกเธตเธเธฒเธฃเธเธฑเธเธเธฒเธฃ fvgBoxes เนเธฅเธฐ fvgLabels เนเธเธทเนเธญเธเธณเธเธฑเธเธเธณเธเธงเธ FVG เธเธตเนเนเธชเธเธเธเธฒเธก fvgHistoryNbr เนเธฅเธฐเธฅเธ FVG เนเธเนเธฒเธญเธญเธ
เธเธฑเธเธเนเธเธฑเธ FVGDraw เธเธฐเธเธนเธเนเธฃเธตเธขเธเนเธเธทเนเธญเธญเธฑเธเนเธเธเธชเธเธฒเธเธฐเธเธญเธ FVG (เนเธเนเธ เธเธฒเธฃเธเธนเธ Mitigate) เนเธฅเธฐเธเธฃเธฑเธเธเธฒเธฃเนเธชเธเธเธเธฅ
2.5 Structures Processing (เธเธฒเธฃเธเธฃเธฐเธกเธงเธฅเธเธฅเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฅเธฒเธ)
Initialization: เธเธตเน bar_index == 0 (เนเธเนเธเนเธเธตเธขเธเนเธฃเธเธเธญเธเธเธฃเธฒเธ) เธเธฐเธกเธตเธเธฒเธฃเธเธณเธซเธเธเธเนเธฒเนเธฃเธดเนเธกเธเนเธเนเธซเนเธเธฑเธ structureHigh, structureLow, structureHighStartIndex, structureLowStartIndex
Finding Current High/Low: highest, highestBar, lowest, lowestBar เธเธนเธเนเธเนเนเธเธทเนเธญเธซเธฒ High/Low เธเธตเนเธชเธธเธเนเธฅเธฐ Bar Index เธเธญเธเธกเธฑเธเนเธ 10 เนเธเนเธเธฅเนเธฒเธชเธธเธ (เธซเธฃเธทเธญเธเธฑเนเธเธซเธกเธเธซเธฒเธเธเธฃเธฒเธเธชเธฑเนเธเธเธงเนเธฒ 10 เนเธเนเธ)
Calculating Structure Max/Min Bar: structureMaxBar เนเธฅเธฐ structureMinBar เนเธเนเธเธฑเธเธเนเธเธฑเธ get_structure_highest_bar เนเธฅเธฐ get_structure_lowest_bar เนเธเธทเนเธญเธซเธฒ Bar Index เธเธญเธ Swing High/Low เธเธตเนเนเธเนเธเธฃเธดเธ (เนเธกเนเนเธเนเนเธเน High/Low เธเธตเนเธชเธธเธเนเธ lookback เนเธเนเนเธเนเธเธเธธเธ Pivot เธเธตเนเธชเธกเธเธนเธฃเธเน)
Break Price: lowStructBreakPrice เนเธฅเธฐ highStructBreakPrice เธเธฐเนเธเนเธเธฃเธฒเธเธฒเธเธดเธ (close) เธซเธฃเธทเธญเธฃเธฒเธเธฒ Low/High เธเธถเนเธเธญเธขเธนเนเธเธฑเธ isStructBodyCandleBreak
isStuctureLowBroken / isStructureHighBroken: เนเธเธทเนเธญเธเนเธเนเธซเธฅเนเธฒเธเธตเนเธเธฃเธงเธเธชเธญเธเธงเนเธฒเธฃเธฒเธเธฒเนเธเนเธเธณเธฅเธฒเธข structureLow เธซเธฃเธทเธญ structureHigh เธซเธฃเธทเธญเนเธกเน เนเธเธขเธเธดเธเธฒเธฃเธเธฒเธเธฒเธเธฃเธฒเธเธฒ Break, เธฃเธฒเธเธฒเนเธเนเธเธเนเธญเธเธซเธเนเธฒ เนเธฅเธฐ Bar Index เธเธญเธเธเธธเธเนเธฃเธดเนเธกเธเนเธเนเธเธฃเธเธชเธฃเนเธฒเธ
Choch/BoS Logic (เธชเนเธงเธเธชเธณเธเธฑเธเธเธตเนเธเธนเธเธเธชเธฒเธเธเธฑเธ MACD):
if(isStuctureLowBroken and is_bearish_macd_cross): เธเธตเนเธเธทเธญเธเธธเธเธเธตเน MACD เนเธเนเธฒเธกเธฒเธกเธตเธเธเธเธฒเธ เธซเธฒเธเธฃเธฒเธเธฒเธเธณเธฅเธฒเธข structureLow (เธชเธฑเธเธเธฒเธเธเธฒเธฅเธ) เนเธฅเธฐ MACD Histogram เนเธเธดเธ Bearish Zero Cross (is_bearish_macd_cross เนเธเนเธ true) เธญเธดเธเธเธดเนเธเนเธเธญเธฃเนเธเธฐเธเธดเธเธฒเธฃเธเธฒเธงเนเธฒเนเธเนเธ Choch เธซเธฃเธทเธญ BoS
เธซเธฒเธ structureDirection == 1 (เนเธเธดเธกเนเธเนเธเธเธฒเธเธถเนเธ) เธซเธฃเธทเธญ 0 (เธขเธฑเธเนเธกเนเธเธณเธซเธเธ) เธเธฐเธเธตเนเธเนเธ "CHoCH" (เนเธเธฅเธตเนเธขเธเธเธดเธจเธเธฒเธเนเธเธฃเธเธชเธฃเนเธฒเธเนเธเนเธเธเธฒเธฅเธ)
เธซเธฒเธ structureDirection == 2 (เนเธเธดเธกเนเธเนเธเธเธฒเธฅเธ) เธเธฐเธเธตเนเธเนเธ "BOS" (เธขเธทเธเธขเธฑเธเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฒเธฅเธ)
เธกเธตเธเธฒเธฃเธชเธฃเนเธฒเธ line.new เนเธฅเธฐ label.new เนเธเธทเนเธญเธงเธฒเธเนเธชเนเธเนเธฅเธฐเธเนเธฒเธขเธเธณเธเธฑเธ
structureDirection เธเธฐเธเธนเธเธญเธฑเธเนเธเธเนเธเนเธ 1 (Bullish)
structureHighStartIndex, structureLowStartIndex, structureHigh, structureLow เธเธฐเธเธนเธเธญเธฑเธเนเธเธเนเธเธทเนเธญเธเธณเธซเธเธเนเธเธฃเธเธชเธฃเนเธฒเธเนเธซเธกเน
else if(isStructureHighBroken and is_bullish_macd_cross): เนเธเนเธเธเธฑเธเธชเธณเธซเธฃเธฑเธเธเธฒเธเธถเนเธ เธซเธฒเธเธฃเธฒเธเธฒเธเธณเธฅเธฒเธข structureHigh (เธชเธฑเธเธเธฒเธเธเธฒเธเธถเนเธ) เนเธฅเธฐ MACD Histogram เนเธเธดเธ Bullish Zero Cross (is_bullish_macd_cross เนเธเนเธ true) เธญเธดเธเธเธดเนเธเนเธเธญเธฃเนเธเธฐเธเธดเธเธฒเธฃเธเธฒเธงเนเธฒเนเธเนเธ Choch เธซเธฃเธทเธญ BoS
เธซเธฒเธ structureDirection == 2 (เนเธเธดเธกเนเธเนเธเธเธฒเธฅเธ) เธซเธฃเธทเธญ 0 (เธขเธฑเธเนเธกเนเธเธณเธซเธเธ) เธเธฐเธเธตเนเธเนเธ "CHoCH" (เนเธเธฅเธตเนเธขเธเธเธดเธจเธเธฒเธเนเธเธฃเธเธชเธฃเนเธฒเธเนเธเนเธเธเธฒเธเธถเนเธ)
เธซเธฒเธ structureDirection == 1 (เนเธเธดเธกเนเธเนเธเธเธฒเธเธถเนเธ) เธเธฐเธเธตเนเธเนเธ "BOS" (เธขเธทเธเธขเธฑเธเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฒเธเธถเนเธ)
เธกเธตเธเธฒเธฃเธชเธฃเนเธฒเธ line.new เนเธฅเธฐ label.new เนเธเธทเนเธญเธงเธฒเธเนเธชเนเธเนเธฅเธฐเธเนเธฒเธขเธเธณเธเธฑเธ
structureDirection เธเธฐเธเธนเธเธญเธฑเธเนเธเธเนเธเนเธ 2 (Bearish)
structureHighStartIndex, structureLowStartIndex, structureHigh, structureLow เธเธฐเธเธนเธเธญเธฑเธเนเธเธเนเธเธทเนเธญเธเธณเธซเธเธเนเธเธฃเธเธชเธฃเนเธฒเธเนเธซเธกเน
เธเธฒเธฃเธฅเธเนเธชเนเธเนเธเนเธฒ: d.delete_line (เธซเธฒเธเนเธฅเธเธฃเธฒเธฃเธตเธเธณเธเธฒเธ) เธเธฐเธเธนเธเนเธฃเธตเธขเธเนเธเธทเนเธญเธฅเธเนเธชเนเธเนเธฅเธฐเธเนเธฒเธขเธเธณเธเธฑเธเนเธเนเธฒเธญเธญเธเนเธกเธทเนเธญเธเธณเธเธงเธเนเธเธดเธ structHistoryNbr
Updating Structure High/Low (else block): เธซเธฒเธเนเธกเนเธกเธตเธเธฒเธฃ Break เนเธเธดเธเธเธถเนเธ เนเธเนเธฃเธฒเธเธฒเธเธฑเธเธเธธเธเธฑเธเธชเธนเธเธเธงเนเธฒ structureHigh เธซเธฃเธทเธญเธเนเธณเธเธงเนเธฒ structureLow เนเธเธเธดเธจเธเธฒเธเธเธตเนเธชเธญเธเธเธฅเนเธญเธเธเธฑเธ (เนเธเนเธ เธขเธฑเธเธเธเนเธเนเธเธเธฒเธเธถเนเธเนเธฅเธฐเธเธณ High เนเธซเธกเน) structureHigh เธซเธฃเธทเธญ structureLow เธเธฐเธเธนเธเธญเธฑเธเนเธเธเนเธเธทเนเธญเธเธดเธเธเธฒเธก High/Low เธเธตเนเธชเธธเธเธเธญเธเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฑเธเธเธธเธเธฑเธ
Current Structure Display:
เธซเธฒเธ isCurrentStructToShow เนเธเนเธ true เธญเธดเธเธเธดเนเธเนเธเธญเธฃเนเธเธฐเธงเธฒเธเนเธชเนเธ structureHighLine เนเธฅเธฐ structureLowLine เนเธเธทเนเธญเนเธชเธเธเธเธญเธเนเธเธเธเธญเธเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฅเธฒเธเธเธฑเธเธเธธเธเธฑเธ
Fibonacci Display:
เธซเธฒเธ isFiboXToShow เนเธเนเธ true เธญเธดเธเธเธดเนเธเนเธเธญเธฃเนเธเธฐเธเธณเธเธงเธเนเธฅเธฐเธงเธฒเธเนเธชเนเธ Fibonacci Levels เธเนเธฒเธเน (0.786, 0.705, 0.618, 0.5, 0.382) เนเธเธขเธญเธดเธเธเธฒเธ structureHigh เนเธฅเธฐ structureLow เธเธญเธเนเธเธฃเธเธชเธฃเนเธฒเธเธเธฅเธฒเธเธเธฑเธเธเธธเธเธฑเธ
Alerts:
alertcondition: เนเธเนเธชเธณเธซเธฃเธฑเธเธเธฑเนเธเธเนเธฒ Alert เนเธ TradingView เนเธกเธทเนเธญเนเธเธดเธเธชเธฑเธเธเธฒเธ BOS เธซเธฃเธทเธญ CHOCH
plot(na):
plot(na) เนเธเนเธเธเธณเธชเธฑเนเธเธเธตเนเธชเธณเธเธฑเธเนเธเธญเธดเธเธเธดเนเธเนเธเธญเธฃเนเธเธตเนเนเธกเนเนเธเนเธเนเธญเธเธเธฒเธฃเธเธฅเนเธญเธ Series เธเธญเธเธเนเธญเธกเธนเธฅเธเธเธเธฃเธฒเธ (เนเธเนเธ เนเธกเนเนเธเนเธเธฅเนเธญเธเนเธชเนเธ EMA เธซเธฃเธทเธญ RSI) เนเธเนเนเธเนเธงเธฒเธเธญเนเธญเธเนเธเธเธเน (Line, Label, Box) เนเธเธขเธเธฃเธ
เธเธฒเธฃเธกเธต plot(na) เธเนเธงเธขเนเธซเน Pine Script เธฃเธนเนเธงเนเธฒเธญเธดเธเธเธดเนเธเนเธเธญเธฃเนเธเธตเนเธกเธตเนเธญเธฒเธเนเธเธธเธเธเธตเนเนเธชเธเธเธเธฅเธเธเธเธฃเธฒเธ เนเธกเนเธงเนเธฒเธเธฐเนเธกเนเนเธเนเนเธเนเธ Series เธเธตเนเธเธฅเนเธญเธเธเธฒเธกเธเธเธเธดเธเนเธเธฒเธก
3. เธงเธดเธเธตเนเธเนเธเธฒเธ
เธเธฑเธเธฅเธญเธเนเธเนเธเธเธฑเนเธเธซเธกเธ เธเธตเนเธญเธขเธนเนเนเธเธเธฅเนเธญเธ immersive เธเนเธฒเธเธเธ
เนเธเธเธตเน TradingView เนเธฅเธฐเนเธเธดเธเธเธฃเธฒเธเธเธตเนเธเธธเธเธเนเธญเธเธเธฒเธฃ
เธเธฅเธดเธเธเธตเนเนเธกเธเธน "Pine Editor" เธเธตเนเธญเธขเธนเนเธเนเธฒเธเธฅเนเธฒเธเธเธญเธเธซเธเนเธฒเธเธญ
เธฅเธเนเธเนเธเนเธเธดเธกเธเธตเนเธกเธตเธญเธขเธนเน เนเธฅเธฐ เธงเธฒเธเนเธเนเธเธเธตเนเธเธฑเธเธฅเธญเธเธกเธฒ เธฅเธเนเธเนเธเธ
เธเธฅเธดเธเธเธตเนเธเธธเนเธก "Add to Chart"
เธญเธดเธเธเธดเนเธเนเธเธญเธฃเนเธเธฐเธเธนเธเนเธเธดเนเธกเธฅเธเนเธเธเธฃเธฒเธเธเธญเธเธเธธเธเนเธเธขเธญเธฑเธเนเธเธกเธฑเธเธด เธเธธเธเธชเธฒเธกเธฒเธฃเธเธเธฅเธดเธเธเธตเนเธฃเธนเธเธเธฑเธเนเธเธทเธญเธเธเนเธฒเธเธเธทเนเธญเธญเธดเธเธเธดเนเธเนเธเธญเธฃเนเธเธเธเธฃเธฒเธเนเธเธทเนเธญเนเธเนเธฒเธเธถเธเธซเธเนเธฒเธเนเธฒเธเธเธฒเธฃเธเธฑเนเธเธเนเธฒเนเธฅเธฐเธเธฃเธฑเธเนเธเนเธเธเธฒเธกเธเธงเธฒเธกเธเนเธญเธเธเธฒเธฃเธเธญเธเธเธธเธเนเธเน
Hello! I will explain the "SMC Structures and FVG + MACD" indicator you provided in detail, section by section, so you can fully understand how it works.This indicator combines the concepts of Smart Money Concept (SMC), which focuses on analyzing Market Structure and Fair Value Gaps (FVG), with the MACD indicator to serve as a filter or confirmation for Choch (Change of Character) and BoS (Break of Structure) signals.1. Overall PurposeThe main purposes of this indicator are:Identify Market Structure: Automatically draw lines and label Choch (Change of Character) and BoS (Break of Structure) on the chart.Integrate MACD Confirmation: Choch/BoS signals will only be considered when the MACD Histogram performs a cross (Zero Cross) in the corresponding direction.Display Fair Value Gap (FVG): If enabled, FVG boxes will be drawn on the chart.Display Fibonacci Levels: Calculate and display important Fibonacci levels based on the current market structure.Adapt to Timeframe: All calculations and displays will automatically adjust to the timeframe you are currently using.2. Code BreakdownThis code can be divided into the following main sections:2.1 Inputs (Settings)This section contains variables that you can adjust in the indicator's settings window (click the gear icon next to the indicator's name on the chart).MACD Settings:fast_len: Length of the Fast EMA for MACD (default 12)slow_len: Length of the Slow EMA for MACD (default 26)signal_len: Length of the Signal Line for MACD (default 9) = ta.macd(close, fast_len, slow_len, signal_len): Calculates the MACD Line, Signal Line, and Histogram using the closing price (close) and the specified lengths.is_bullish_macd_cross: Checks if the MACD Histogram crosses above the 0 line (from negative to positive).is_bearish_macd_cross: Checks if the MACD Histogram crosses below the 0 line (from positive to negative).Fear Value Gap (FVG) Settings:isFvgToShow: (Boolean) Enables/disables the display of FVG on the chart.bullishFvgColor: Color for Bullish FVG.bearishFvgColor: Color for Bearish FVG.mitigatedFvgColor: Color for FVG that has been mitigated.fvgHistoryNbr: Number of historical FVG to display.isMitigatedFvgToReduce: (Boolean) Enables/disables reducing the size of FVG when mitigated.Structures (เนเธเธฃเธเธชเธฃเนเธฒเธเธเธฅเธฒเธ) Settings:isStructBodyCandleBreak: (Boolean) If true, the break must occur with the candle body closing above/below the Swing High/Low. If false, a wick break is sufficient.isCurrentStructToShow: (Boolean) Enables/disables the display of the current market structure lines (blue lines in the example image).pivot_len: Lookback length for identifying Pivot points (Swing High/Low). A smaller value captures smaller, more frequent swings; a larger value captures larger, more significant swings.bullishBosColor, bearishBosColor: Colors for bullish/bearish BOS lines and labels.bosLineStyleOption, bosLineWidth: Style (Solid, Dotted, Dashed) and width of BOS lines.bullishChochColor, bearishChochColor: Colors for bullish/bearish CHoCH lines and labels.chochLineStyleOption, chochLineWidth: Style (Solid, Dotted, Dashed) and width of CHoCH lines.currentStructColor, currentStructLineStyleOption, currentStructLineWidth: Color, style, and width of the current market structure lines.structHistoryNbr: Number of historical breaks (Choch/BoS) to display.Structure Fibonacci (from original code):A set of inputs to enable/disable, define values, colors, styles, and widths for various Fibonacci Levels (0.786, 0.705, 0.618, 0.5, 0.382) that will be calculated from the current market structure.2.2 Helper FunctionsgetLineStyle(lineOption): This function converts the selected string input (e.g., "โ", "โ", "โ") into a line.style_ format understood by Pine Script.get_structure_highest_bar(lookback): This function attempts to find the Bar Index of the Swing High within the specified lookback period.get_structure_lowest_bar(lookback): This function attempts to find the Bar Index of the Swing Low within the specified lookback period.is_structure_high_broken(...): This function checks if the current price has broken above _structureHigh (Swing High), considering _highStructBreakPrice (closing price or high price depending on isStructBodyCandleBreak setting).FVGDraw(...): This function takes arrays of FVG Boxes, Types, Mitigation Status, and Labels to process and update the status of FVG (e.g., whether it's mitigated) and adjust the size/position of FVG Boxes and Labels on the chart.2.3 Global VariablesThese are variables declared with var, meaning their values are stored and updated on each bar (persists across bars).structureLines, structureLabels: Arrays to store line and label objects for Choch/BoS lines drawn on the chart.fvgBoxes, fvgTypes, fvgLabels, isFvgMitigated: Arrays to store FVG box data and their respective statuses.structureHigh, structureLow: Stores the price of the significant Swing High/Low of the current market structure.structureHighStartIndex, structureLowStartIndex: Stores the Bar Index of the start point of the significant Swing High/Low.structureDirection: Stores the status of the market structure direction (1 = Bullish, 2 = Bearish, 0 = Undefined).fiboXPrice, fiboXStartIndex, fiboXLine, fiboXLabel: Variables to store data and objects for Fibonacci Levels.isBOSAlert, isCHOCHAlert: (Boolean) Used to trigger alerts in TradingView (if alerts are configured).2.4 FVG ProcessingThis section checks the conditions for FVG formation (Bullish FVG: high < low , Bearish FVG: low > high ).If FVG occurs and isFvgToShow is true, a new box and label are created to display the FVG on the chart.fvgBoxes and fvgLabels are managed to limit the number of FVG displayed according to fvgHistoryNbr and remove older FVG.The FVGDraw function is called to update the FVG status (e.g., whether it's mitigated) and adjust its display.2.5 Structures ProcessingInitialization: At bar_index == 0 (the first bar of the chart), structureHigh, structureLow, structureHighStartIndex, and structureLowStartIndex are initialized.Finding Current High/Low: highest, highestBar, lowest, lowestBar are used to find the highest/lowest price and its Bar Index of it in the last 10 bars (or all bars if the chart is shorter than 10 bars).Calculating Structure Max/Min Bar: structureMaxBar and structureMinBar use get_structure_highest_bar and get_structure_lowest_bar functions to find the Bar Index of the true Swing High/Low (not just the highest/lowest in the lookback but a complete Pivot point).Break Price: lowStructBreakPrice and highStructBreakPrice will be the closing price (close) or the Low/High price, depending on the isStructBodyCandleBreak setting.isStuctureLowBroken / isStructureHighBroken: These conditions check if the price has broken structureLow or structureHigh, considering the break price, previous bar prices, and the Bar Index of the structure's starting point.Choch/BoS Logic (Key Integration with MACD):if(isStuctureLowBroken and is_bearish_macd_cross): This is where MACD plays a role. If the price breaks structureLow (bearish signal) AND the MACD Histogram performs a Bearish Zero Cross (is_bearish_macd_cross is true), the indicator will consider it a Choch or BoS.If structureDirection == 1 (previously bullish) or 0 (undefined), it will be labeled "CHoCH" (changing structure direction to bearish).If structureDirection == 2 (already bearish), it will be labeled "BOS" (confirming bearish structure).line.new and label.new are used to draw the line and label.structureDirection will be updated to 1 (Bullish).structureHighStartIndex, structureLowStartIndex, structureHigh, structureLow will be updated to define the new structure.else if(isStructureHighBroken and is_bullish_macd_cross): Similarly for bullish breaks. If the price breaks structureHigh (bullish signal) AND the MACD Histogram performs a Bullish Zero Cross (is_bullish_macd_cross is true), the indicator will consider it a Choch or BoS.If structureDirection == 2 (previously bearish) or 0 (undefined), it will be labeled "CHoCH" (changing structure direction to bullish).If structureDirection == 1 (already bullish), it will be labeled "BOS" (confirming bullish structure).line.new and label.new are used to draw the line and label.structureDirection will be updated to 2 (Bearish).structureHighStartIndex, structureLowStartIndex, structureHigh, structureLow will be updated to define the new structure.Deleting Old Lines: d.delete_line (if the library works) will be called to delete old lines and labels when their number exceeds structHistoryNbr.Updating Structure High/Low (else block): If no break occurs, but the current price is higher than structureHigh or lower than structureLow in the corresponding direction (e.g., still bullish and making a new high), structureHigh or structureLow will be updated to track the highest/lowest point of the current structure.Current Structure Display:If isCurrentStructToShow is true, the indicator draws structureHighLine and structureLowLine to show the boundaries of the current market structure.Fibonacci Display:If isFiboXToShow is true, the indicator calculates and draws various Fibonacci Levels (0.786, 0.705, 0.618, 0.5, 0.382) based on the structureHigh and structureLow of the current market structure.Alerts:alertcondition: Used to set up alerts in TradingView when BOS or CHOCH signals occur.plot(na):plot(na) is an important statement in indicators that do not plot data series directly on the chart (e.g., not plotting EMA or RSI lines) but instead draw objects (Line, Label, Box).Having plot(na) helps Pine Script recognize that this indicator has an output displayed on the chart, even if it's not a regularly plotted series.3. How to UseCopy all the code in the immersive block above.Go to TradingView and open your desired chart.Click on the "Pine Editor" menu at the bottom of the screen.Delete any existing code and paste the copied code in its place.Click the "Add to Chart" button.The indicator will be added to your chart automatically. You can click the gear icon next to the indicator's name on the chart to access the settings window and customize it to your needs.I hope this explanation helps you understand this indicator in detail. If anything is unclear, or you need further adjustments, please let me know.
FvgCalculationsโโOVERVIEW
This library provides the core calculation engine for identifying Fair Value Gaps (FVGs) across different timeframes and for processing their interaction with price. It includes functions to detect FVGs on both the current chart and higher timeframes, as well as to check for their full or partial mitigation.
โโCONCEPTS
The library's primary functions revolve around the concept of Fair Value Gaps and their lifecycle.
Fair Value Gap (FVG) Identification
An FVG, or imbalance, represents a price range where buying or selling pressure was significant enough to cause a rapid price movement, leaving an "inefficiency" in the market. This library identifies FVGs based on three-bar patterns:
Bullish FVG: Forms when the low of the current bar (bar 3) is higher than the high of the bar two periods prior (bar 1). The FVG is the space between the high of bar 1 and the low of bar 3.
Bearish FVG: Forms when the high of the current bar (bar 3) is lower than the low of the bar two periods prior (bar 1). The FVG is the space between the low of bar 1 and the high of bar 3.
The library provides distinct functions for detecting FVGs on the current (Low Timeframe - LTF) and specified higher timeframes (Medium Timeframe - MTF / High Timeframe - HTF).
FVG Mitigation
Mitigation refers to price revisiting an FVG.
Full Mitigation: An FVG is considered fully mitigated when price completely closes the gap. For a bullish FVG, this occurs if the current low price moves below or touches the FVG's bottom. For a bearish FVG, it occurs if the current high price moves above or touches the FVG's top.
Partial Mitigation (Entry/Fill): An FVG is partially mitigated when price enters the FVG's range but does not fully close it. The library tracks the extent of this fill. For a bullish FVG, if the current low price enters the FVG from above, that low becomes the new effective top of the remaining FVG. For a bearish FVG, if the current high price enters the FVG from below, that high becomes the new effective bottom of the remaining FVG.
FVG Interaction
This refers to any instance where the current bar's price range (high to low) touches or crosses into the currently unfilled portion of an active (visible and not fully mitigated) FVG.
Multi-Timeframe Data Acquisition
To detect FVGs on higher timeframes, specific historical bar data (high, low, and time of bars at indices and relative to the higher timeframe's last completed bar) is required. The requestMultiTFBarData function is designed to fetch this data efficiently.
โโCALCULATIONS AND USE
The functions in this library are typically used in a sequence to manage FVGs:
1. Data Retrieval (for MTF/HTF FVGs):
Call requestMultiTFBarData() with the desired higher timeframe string (e.g., "60", "D").
This returns a tuple of htfHigh1, htfLow1, htfTime1, htfHigh3, htfLow3, htfTime3.
2. FVG Detection:
For LTF FVGs: Call detectFvg() on each confirmed bar. It uses high , low, low , and high along with barstate.isconfirmed.
For MTF/HTF FVGs: Call detectMultiTFFvg() using the data obtained from requestMultiTFBarData().
Both detection functions return an fvgObject (defined in FvgTypes) if an FVG is found, otherwise na. They also can classify FVGs as "Large Volume" (LV) if classifyLV is true and the FVG size (top - bottom) relative to the tfAtr (Average True Range of the respective timeframe) meets the lvAtrMultiplier.
3. FVG State Updates (on each new bar for existing FVGs):
First, check for overall price interaction using fvgInteractionCheck(). This function determines if the current bar's high/low has touched or entered the FVG's currentTop or currentBottom.
If interaction occurs and the FVG is not already mitigated:
Call checkMitigation() to determine if the FVG has been fully mitigated by the current bar's currentHigh and currentLow. If true, the FVG's isMitigated status is updated.
If not fully mitigated, call checkPartialMitigation() to see if the price has further entered the FVG. This function returns the newLevel to which the FVG has been filled (e.g., currentLow for a bullish FVG, currentHigh for bearish). This newLevel is then used to update the FVG's currentTop or currentBottom.
The calling script (e.g., fvgMain.c) is responsible for storing and managing the array of fvgObject instances and passing them to these update functions.
โโNOTES
Bar State for LTF Detection: The detectFvg() function relies on barstate.isconfirmed to ensure FVG detection is based on closed bars, preventing FVGs from being detected prematurely on the currently forming bar.
Higher Timeframe Data (lookahead): The requestMultiTFBarData() function uses lookahead = barmerge.lookahead_on. This means it can access historical data from the higher timeframe that corresponds to the current bar on the chart, even if the higher timeframe bar has not officially closed. This is standard for multi-timeframe analysis aiming to plot historical HTF data accurately on a lower timeframe chart.
Parameter Typing: Functions like detectMultiTFFvg and detectFvg infer the type for boolean (classifyLV) and numeric (lvAtrMultiplier) parameters passed from the main script, while explicitly typed series parameters (like htfHigh1, currentAtr) expect series data.
fvgObject Dependency: The FVG detection functions return fvgObject instances, and fvgInteractionCheck takes an fvgObject as a parameter. This UDT is defined in the FvgTypes library, making it a dependency for using FvgCalculations.
ATR for LV Classification: The tfAtr (for MTF/HTF) and currentAtr (for LTF) parameters are expected to be the Average True Range values for the respective timeframes. These are used, if classifyLV is enabled, to determine if an FVG's size qualifies it as a "Large Volume" FVG based on the lvAtrMultiplier.
MTF/HTF FVG Appearance Timing: When displaying FVGs from a higher timeframe (MTF/HTF) on a lower timeframe (LTF) chart, users might observe that the most recent MTF/HTF FVG appears one LTF bar later compared to its appearance on a native MTF/HTF chart. This is an expected behavior due to the detection mechanism in `detectMultiTFFvg`. This function uses historical bar data from the MTF/HTF (specifically, data equivalent to `HTF_bar ` and `HTF_bar `) to identify an FVG. Therefore, all three bars forming the FVG on the MTF/HTF must be fully closed and have shifted into these historical index positions relative to the `request.security` call from the LTF chart before the FVG can be detected and displayed on the LTF. This ensures that the MTF/HTF FVG is identified based on confirmed, closed bars from the higher timeframe.
โโEXPORTED FUNCTIONS
requestMultiTFBarData(timeframe)
โโRequests historical bar data for specific previous bars from a specified higher timeframe.
โโIt fetches H , L , T (for the bar before last) and H , L , T (for the bar three periods prior)
from the requested timeframe.
โโThis is typically used to identify FVG patterns on MTF/HTF.
โโParameters:
โโโโ timeframe (simple string) : The higher timeframe to request data from (e.g., "60" for 1-hour, "D" for Daily).
โโReturns: A tuple containing: .
โโ- htfHigh1 (series float): High of the bar at index 1 (one bar before the last completed bar on timeframe).
โโ- htfLow1 (series float): Low of the bar at index 1.
โโ- htfTime1 (series int) : Time of the bar at index 1.
โโ- htfHigh3 (series float): High of the bar at index 3 (three bars before the last completed bar on timeframe).
โโ- htfLow3 (series float): Low of the bar at index 3.
โโ- htfTime3 (series int) : Time of the bar at index 3.
detectMultiTFFvg(htfHigh1, htfLow1, htfTime1, htfHigh3, htfLow3, htfTime3, tfAtr, classifyLV, lvAtrMultiplier, tfType)
โโDetects a Fair Value Gap (FVG) on a higher timeframe (MTF/HTF) using pre-fetched bar data.
โโParameters:
โโโโ htfHigh1 (float) : High of the first relevant bar (typically high ) from the higher timeframe.
โโโโ htfLow1 (float) : Low of the first relevant bar (typically low ) from the higher timeframe.
โโโโ htfTime1 (int) : Time of the first relevant bar (typically time ) from the higher timeframe.
โโโโ htfHigh3 (float) : High of the third relevant bar (typically high ) from the higher timeframe.
โโโโ htfLow3 (float) : Low of the third relevant bar (typically low ) from the higher timeframe.
โโโโ htfTime3 (int) : Time of the third relevant bar (typically time ) from the higher timeframe.
โโโโ tfAtr (float) : ATR value for the higher timeframe, used for Large Volume (LV) FVG classification.
โโโโ classifyLV (bool) : If true, FVGs will be assessed to see if they qualify as Large Volume.
โโโโ lvAtrMultiplier (float) : The ATR multiplier used to define if an FVG is Large Volume.
โโโโ tfType (series tfType enum from no1x/FvgTypes/1) : The timeframe type (e.g., types.tfType.MTF, types.tfType.HTF) of the FVG being detected.
โโReturns: An fvgObject instance if an FVG is detected, otherwise na.
detectFvg(classifyLV, lvAtrMultiplier, currentAtr)
โโDetects a Fair Value Gap (FVG) on the current (LTF - Low Timeframe) chart.
โโParameters:
โโโโ classifyLV (bool) : If true, FVGs will be assessed to see if they qualify as Large Volume.
โโโโ lvAtrMultiplier (float) : The ATR multiplier used to define if an FVG is Large Volume.
โโโโ currentAtr (float) : ATR value for the current timeframe, used for LV FVG classification.
โโReturns: An fvgObject instance if an FVG is detected, otherwise na.
checkMitigation(isBullish, fvgTop, fvgBottom, currentHigh, currentLow)
โโChecks if an FVG has been fully mitigated by the current bar's price action.
โโParameters:
โโโโ isBullish (bool) : True if the FVG being checked is bullish, false if bearish.
โโโโ fvgTop (float) : The top price level of the FVG.
โโโโ fvgBottom (float) : The bottom price level of the FVG.
โโโโ currentHigh (float) : The high price of the current bar.
โโโโ currentLow (float) : The low price of the current bar.
โโReturns: True if the FVG is considered fully mitigated, false otherwise.
checkPartialMitigation(isBullish, currentBoxTop, currentBoxBottom, currentHigh, currentLow)
โโChecks for partial mitigation of an FVG by the current bar's price action.
โโIt determines if the price has entered the FVG and returns the new fill level.
โโParameters:
โโโโ isBullish (bool) : True if the FVG being checked is bullish, false if bearish.
โโโโ currentBoxTop (float) : The current top of the FVG box (this might have been adjusted by previous partial fills).
โโโโ currentBoxBottom (float) : The current bottom of the FVG box (similarly, might be adjusted).
โโโโ currentHigh (float) : The high price of the current bar.
โโโโ currentLow (float) : The low price of the current bar.
โโReturns: The new price level to which the FVG has been filled (e.g., currentLow for a bullish FVG).
โโReturns na if no new partial fill occurred on this bar.
fvgInteractionCheck(fvg, highVal, lowVal)
โโChecks if the current bar's price interacts with the given FVG.
โโInteraction means the price touches or crosses into the FVG's
current (possibly partially filled) range.
โโParameters:
โโโโ fvg (fvgObject type from no1x/FvgTypes/1) : The FVG object to check.
โโโโIts isMitigated, isVisible, isBullish, currentTop, and currentBottom fields are used.
โโโโ highVal (float) : The high price of the current bar.
โโโโ lowVal (float) : The low price of the current bar.
โโReturns: True if price interacts with the FVG, false otherwise.
ICT Master Suite [Trading IQ]Hello Traders!
Weโre excited to introduce the ICT Master Suite by TradingIQ, a new tool designed to bring together several ICT concepts and strategies in one place.
The Purpose Behind the ICT Master Suite
There are a few challenges traders often face when using ICT-related indicators:
Many available indicators focus on one or two ICT methods, which can limit traders who apply a broader range of ICT related techniques on their charts.
There aren't many indicators for ICT strategy models, and we couldn't find ICT indicators that allow for testing the strategy models and setting alerts.
Many ICT related concepts exist in the public domain as indicators, not strategies! This makes it difficult to verify that the ICT concept has some utility in the market you're trading and if it's worth trading - it's difficult to know if it's working!
Some users might not have enough chart space to apply numerous ICT related indicators, which can be restrictive for those wanting to use multiple ICT techniques simultaneously.
The ICT Master Suite is designed to offer a comprehensive option for traders who want to apply a variety of ICT methods. By combining several ICT techniques and strategy models into one indicator, it helps users maximize their chart space while accessing multiple tools in a single slot.
Additionally, the ICT Master Suite was developed as a strategy . This means users can backtest various ICT strategy models - including deep backtesting. A primary goal of this indicator is to let traders decide for themselves what markets to trade ICT concepts in and give them the capability to figure out if the strategy models are worth trading!
What Makes the ICT Master Suite Different
There are many ICT-related indicators available on TradingView, each offering valuable insights. What the ICT Master Suite aims to do is bring together a wider selection of these techniques into one tool. This includes both key ICT methods and strategy models, allowing traders to test and activate strategies all within one indicator.
Features
The ICT Master Suite offers:
Multiple ICT strategy models, including the 2022 Strategy Model and Unicorn Model, which can be built, tested, and used for live trading.
Calculation and display of key price areas like Breaker Blocks, Rejection Blocks, Order Blocks, Fair Value Gaps, Equal Levels, and more.
The ability to set alerts based on these ICT strategies and key price areas.
A comprehensive, yet practical, all-inclusive ICT indicator for traders.
Customizable Timeframe - Calculate ICT concepts on off-chart timeframes
Unicorn Strategy Model
2022 Strategy Model
Liquidity Raid Strategy Model
OTE (Optimal Trade Entry) Strategy Model
Silver Bullet Strategy Model
Order blocks
Breaker blocks
Rejection blocks
FVG
Strong highs and lows
Displacements
Liquidity sweeps
Power of 3
ICT Macros
HTF previous bar high and low
Break of Structure indications
Market Structure Shift indications
Equal highs and lows
Swings highs and swing lows
Fibonacci TPs and SLs
Swing level TPs and SLs
Previous day high and low TPs and SLs
And much more! An ongoing project!
How To Use
Many traders will already be familiar with the ICT related concepts listed above, and will find using the ICT Master Suite quite intuitive!
Despite this, let's go over the features of the tool in-depth and how to use the tool!
The image above shows the ICT Master Suite with almost all techniques activated.
ICT 2022 Strategy Model
The ICT Master suite provides the ability to test, set alerts for, and live trade the ICT 2022 Strategy Model.
The image above shows an example of a long position being entered following a complete setup for the 2022 ICT model.
A liquidity sweep occurs prior to an upside breakout. During the upside breakout the model looks for the FVG that is nearest 50% of the setup range. A limit order is placed at this FVG for entry.
The target entry percentage for the range is customizable in the settings. For instance, you can select to enter at an FVG nearest 33% of the range, 20%, 66%, etc.
The profit target for the model generally uses the highest high of the range (100%) for longs and the lowest low of the range (100%) for shorts. Stop losses are generally set at 0% of the range.
The image above shows the short model in action!
Whether you decide to follow the 2022 model diligently or not, you can still set alerts when the entry condition is met.
ICT Unicorn Model
The image above shows an example of a long position being entered following a complete setup for the ICT Unicorn model.
A lower swing low followed by a higher swing high precedes the overlap of an FVG and breaker block formed during the sequence.
During the upside breakout the model looks for an FVG and breaker block that formed during the sequence and overlap each other. A limit order is placed at the nearest overlap point to current price.
The profit target for this example trade is set at the swing high and the stop loss at the swing low. However, both the profit target and stop loss for this model are configurable in the settings.
For Longs, the selectable profit targets are:
Swing High
Fib -0.5
Fib -1
Fib -2
For Longs, the selectable stop losses are:
Swing Low
Bottom of FVG or breaker block
The image above shows the short version of the Unicorn Model in action!
For Shorts, the selectable profit targets are:
Swing Low
Fib -0.5
Fib -1
Fib -2
For Shorts, the selectable stop losses are:
Swing High
Top of FVG or breaker block
The image above shows the profit target and stop loss options in the settings for the Unicorn Model.
Optimal Trade Entry (OTE) Model
The image above shows an example of a long position being entered following a complete setup for the OTE model.
Price retraces either 0.62, 0.705, or 0.79 of an upside move and a trade is entered.
The profit target for this example trade is set at the -0.5 fib level. This is also adjustable in the settings.
For Longs, the selectable profit targets are:
Swing High
Fib -0.5
Fib -1
Fib -2
The image above shows the short version of the OTE Model in action!
For Shorts, the selectable profit targets are:
Swing Low
Fib -0.5
Fib -1
Fib -2
Liquidity Raid Model
The image above shows an example of a long position being entered following a complete setup for the Liquidity Raid Modell.
The user must define the session in the settings (for this example it is 13:30-16:00 NY time).
During the session, the indicator will calculate the session high and session low. Following a โraidโ of either the session high or session low (after the session has completed) the script will look for an entry at a recently formed breaker block.
If the session high is raided the script will look for short entries at a bearish breaker block. If the session low is raided the script will look for long entries at a bullish breaker block.
For Longs, the profit target options are:
Swing high
User inputted Lib level
For Longs, the stop loss options are:
Swing low
User inputted Lib level
Breaker block bottom
The image above shows the short version of the Liquidity Raid Model in action!
For Shorts, the profit target options are:
Swing Low
User inputted Lib level
For Shorts, the stop loss options are:
Swing High
User inputted Lib level
Breaker block top
Silver Bullet Model
The image above shows an example of a long position being entered following a complete setup for the Silver Bullet Modell.
During the session, the indicator will determine the higher timeframe bias. If the higher timeframe bias is bullish the strategy will look to enter long at an FVG that forms during the session. If the higher timeframe bias is bearish the indicator will look to enter short at an FVG that forms during the session.
For Longs, the profit target options are:
Nearest Swing High Above Entry
Previous Day High
For Longs, the stop loss options are:
Nearest Swing Low
Previous Day Low
The image above shows the short version of the Silver Bullet Model in action!
For Shorts, the profit target options are:
Nearest Swing Low Below Entry
Previous Day Low
For Shorts, the stop loss options are:
Nearest Swing High
Previous Day High
Order blocks
The image above shows indicator identifying and labeling order blocks.
The color of the order blocks, and how many should be shown, are configurable in the settings!
Breaker Blocks
The image above shows indicator identifying and labeling order blocks.
The color of the breaker blocks, and how many should be shown, are configurable in the settings!
Rejection Blocks
The image above shows indicator identifying and labeling rejection blocks.
The color of the rejection blocks, and how many should be shown, are configurable in the settings!
Fair Value Gaps
The image above shows indicator identifying and labeling fair value gaps.
The color of the fair value gaps, and how many should be shown, are configurable in the settings!
Additionally, you can select to only show fair values gaps that form after a liquidity sweep. Doing so reduces "noisy" FVGs and focuses on identifying FVGs that form after a significant trading event.
The image above shows the feature enabled. A fair value gap that occurred after a liquidity sweep is shown.
Market Structure
The image above shows the ICT Master Suite calculating market structure shots and break of structures!
The color of MSS and BoS, and whether they should be displayed, are configurable in the settings.
Displacements
The images above show indicator identifying and labeling displacements.
The color of the displacements, and how many should be shown, are configurable in the settings!
Equal Price Points
The image above shows the indicator identifying and labeling equal highs and equal lows.
The color of the equal levels, and how many should be shown, are configurable in the settings!
Previous Custom TF High/Low
The image above shows the ICT Master Suite calculating the high and low price for a user-defined timeframe. In this case the previous dayโs high and low are calculated.
To illustrate the customizable timeframe function, the image above shows the indicator calculating the previous 4 hour high and low.
Liquidity Sweeps
The image above shows the indicator identifying a liquidity sweep prior to an upside breakout.
The image above shows the indicator identifying a liquidity sweep prior to a downside breakout.
The color and aggressiveness of liquidity sweep identification are adjustable in the settings!
Power Of Three
The image above shows the indicator calculating Po3 for two user-defined higher timeframes!
Macros
The image above shows the ICT Master Suite identifying the ICT macros!
ICT Macros are only displayable on the 5 minute timeframe or less.
Strategy Performance Table
In addition to a full-fledged TradingView backtest for any of the ICT strategy models the indicator offers, a quick-and-easy strategy table exists for the indicator!
The image above shows the strategy performance table in action.
Keep in mind that, because the ICT Master Suite is a strategy script, you can perform fully automatic backtests, deep backtests, easily add commission and portfolio balance and look at pertinent metrics for the ICT strategies you are testing!
Lite Mode
Traders who want the cleanest chart possible can toggle on โLite Modeโ!
In Lite Mode, any neon or โglowโ like effects are removed and key levels are marked as strict border boxes. You can also select to remove box borders if thatโs what you prefer!
Settings Used For Backtest
For the displayed backtest, a starting balance of $1000 USD was used. A commission of 0.02%, slippage of 2 ticks, a verify price for limit orders of 2 ticks, and 5% of capital investment per order.
A commission of 0.02% was used due to the backtested asset being a perpetual future contract for a crypto currency. The highest commission (lowest-tier VIP) for maker orders on many exchanges is 0.02%. All entered positions take place as maker orders and so do profit target exits. Stop orders exist as stop-market orders.
A slippage of 2 ticks was used to simulate more realistic stop-market orders. A verify limit order settings of 2 ticks was also used. Even though BTCUSDT.P on Binance is liquid, we just want the backtest to be on the safe side. Additionally, the backtest traded 100+ trades over the period. The higher the sample size the better; however, this example test can serve as a starting point for traders interested in ICT concepts.
Community Assistance And Feedback
Given the complexity and idiosyncratic applications of ICT concepts amongst its proponents, the ICT Master Suiteโs built-in strategies and level identification methods might not align with everyone's interpretation.
That said, the best we can do is precisely define ICT strategy rules and concepts to a repeatable process, test, and apply them! Whether or not an ICT strategy is trading precisely how you would trade it, seeing the model in action, taking trades, and with performance statistics is immensely helpful in assessing predictive utility.
If you think we missed something, you notice a bug, have an idea for strategy model improvement, please let us know! The ICT Master Suite is an ongoing project that will, ideally, be shaped by the community.
A big thank you to the @PineCoders for their Time Library!
Thank you!
Price Action Smart Money Concepts [BigBeluga]THE SMART MONEY CONCEPTS Toolkit
The Smart Money Concepts [ BigBeluga ] is a comprehensive toolkit built around the principles of "smart money" behavior, which refers to the actions and strategies of institutional investors.
The Smart Money Concepts Toolkit brings together a suite of advanced indicators that are all interconnected and built around a unified concept: understanding and trading like institutional investors, or "smart money." These indicators are not just randomly chosen tools; they are features of a single overarching framework, which is why having them all in one place creates such a powerful system.
This all-in-one toolkit provides the user with a unique experience by automating most of the basic and advanced concepts on the chart, saving them time and improving their trading ideas.
Real-time market structure analysis simplifies complex trends by pinpointing key support, resistance, and breakout levels.
Advanced order block analysis leverages detailed volume data to pinpoint high-demand zones, revealing internal market sentiment and predicting potential reversals. This analysis utilizes bid/ask zones to provide supply/demand insights, empowering informed trading decisions.
Imbalance Concepts (FVG and Breakers) allows traders to identify potential market weaknesses and areas where price might be attracted to fill the gap, creating opportunities for entry and exit.
Swing failure patterns help traders identify potential entry points and rejection zones based on price swings.
Liquidity Concepts, our advanced liquidity algorithm, pinpoints high-impact events, allowing you to predict market shifts, strong price reactions, and potential stop-loss hunting zones. This gives traders an edge to make informed trading decisions based on liquidity dynamics.
๐ต FEATURES
The indicator has quite a lot of features that are provided below:
Swing market structure
Internal market structure
Mapping structure
Adjustable market structure
Strong/Weak H&L
Sweep
Volumetric Order block / Breakers
Fair Value Gaps / Breakers (multi-timeframe)
Swing Failure Patterns (multi-timeframe)
Deviation area
Equal H&L
Liquidity Prints
Buyside & Sellside
Sweep Area
Highs and Lows (multi-timeframe)
๐ต BASIC DEMONSTRATION OF ALL FEATURES
1. MARKET STRUCTURE
The preceding image illustrates the market structure functionality within the Smart Money Concepts indicator.
โค Solid lines: These represent the core indicator's internal structure, forming the foundation for most other components. They visually depict the overall market direction and identify major reversal points marked by significant price movements (denoted as 'x').
โค Internal Structure: These represent an alternative internal structure with the potential to drive more rapid market shifts. This is particularly relevant when a significant gap exists in the established swing structure, specifically between the Break of Structure (BOS) and the most recent Change of High/Low (CHoCH). Identifying these formations can offer opportunities for quicker entries and potential short-term reversals.
โค Sweeps (x): These signify potential turning points in the market where liquidity is removed from the structure. This suggests a possible trend reversal and presents crucial entry opportunities. Sweeps are identified within both swing and internal structures, providing valuable insights for informed trading decisions.
โค Mapping structure: A tool that automatically identifies and connects significant price highs and lows, creating a zig-zag pattern. It visualizes market structure, highlights trends, support/resistance levels, and potential breakouts. Helps traders quickly grasp price action patterns and make informed decisions.
โค Color-coded candles based on market structure: These colors visually represent the underlying market structure, making it easier for traders to quickly identify trends.
โค Extreme H&L: It visualizes market structure with extreme high and lows, which gives perspective for macro Market Structure.
2. VOLUMETRIC ORDER BLOCKS
Order blocks are specific areas on a financial chart where significant buying or selling activity has occurred. These are not just simple zones; they contain valuable information about market dynamics. Within each of these order blocks, volume bars represent the actual buying and selling activity that took place. These volume bars offer deeper insights into the strength of the order block by showing how much buying or selling power is concentrated in that specific zone.
Additionally, these order blocks can be transformed into Breaker Blocks. When an order block failsโmeaning the price breaks through this zone without reversingโit becomes a breaker block. Breaker blocks are particularly useful for trading breakouts, as they signal that the market has shifted beyond a previously established zone, offering opportunities for traders to enter in the direction of the breakout.
Here's a breakdown:
โค Bear Order Blocks (Red): These are zones where a lot of selling happened. Traders see these areas as places where sellers were strong, pushing the price down. When the price returns to these zones, it might face resistance and drop again.
โค Bull Order Blocks (Green): These are zones where a lot of buying happened. Traders see these areas as places where buyers were strong, pushing the price up. When the price returns to these zones, it might find support and rise again.
These Order Blocks help traders identify potential areas for entering or exiting trades based on past market activity. The volume bars inside blocks show the amount of trading activity that occurred in these blocks, giving an idea of the strength of buying or selling pressure.
โค Breaker Block: When an order block fails, meaning the price breaks through this zone without reversing, it becomes a breaker block. This indicates a significant shift in market liquidity and structure.
โค A bearish breaker block occurs after a bullish order block fails. This typically happens when there's an upward trend, and a certain level that was expected to support the market's rise instead gives way, leading to a sharp decline. This decline indicates that sellers have overcome the buyers, absorbing liquidity and shifting the sentiment from bullish to bearish.
Conversely, a bullish breaker block is formed from the failure of a bearish order block. In a downtrend, when a level that was expected to act as resistance is breached, and the price shoots up, it signifies that buyers have taken control, overpowering the sellers.
3. FAIR VALUE GAPS:
A fair value gap (FVG), also referred to as an imbalance, is an essential concept in Smart Money trading. It highlights the supply and demand dynamics. This gap arises when there's a notable difference between the volume of buy and sell orders. FVGs can be found across various asset classes, including forex, commodities, stocks, and cryptocurrencies.
FVGs in this toolkit have the ability to detect raids of FVG which helps to identify potential price reversals.
Mitigation option helps to change from what source FVGs will be identified: Close, Wicks or AVG.
4. SWING FAILURE PATTERN (SFP):
The Swing Failure Pattern is a liquidity engineering pattern, generally used to fill large orders. This means, the SFP generally occurs when larger players push the price into liquidity pockets with the sole objective of filling their own positions.
SFP is a technical analysis tool designed to identify potential market reversals. It works by detecting instances where the price briefly breaks a previous high or low but fails to maintain that breakout, quickly reversing direction.
How it works:
Pattern Detection: The indicator scans for price movements that breach recent highs or lows.
Reversal Confirmation: If the price quickly reverses after breaching these levels, it's identified as an SFP.
โค SFP Display:
Bullish SFP: Marked with a green symbol when price drops below a recent low before reversing upwards.
Bearish SFP: Marked with a red symbol when price rises above a recent high before reversing downwards.
โค Deviation Levels: After detecting an SFP, the indicator projects white lines showing potential price deviation:
For bullish SFPs, the deviation line appears above the current price.
For bearish SFPs, the deviation line appears below the current price.
These deviation levels can serve as a potential trading opportunity or areas where the reversal might lose momentum.
With Volume Threshold and Filtering of SFP traders can adjust their trading style:
Volume Threshold: This setting allows traders to filter SFPs based on the volume of the reversal candle. By setting a higher volume threshold, traders can focus on potentially more significant reversals that are backed by higher trading activity.
SFP Filtering: This feature enables traders to filter SFP detection. It includes parameters such as:
5. LIQUIDITY CONCEPTS:
โค Equal Lows (EQL) and Equal Highs (EQH) are important concepts in liquidity-based trading.
EQL: A series of two or more swing lows that occur at approximately the same price level.
EQH: A series of two or more swing highs that occur at approximately the same price level.
EQLs and EQHs are seen as potential liquidity pools where a large number of stop loss orders or limit orders may be clustered. They can be used as potential reverse points for trades.
This multi-period feature allows traders to select less and more significant EQL and EQH:
โค Liquidity wicks:
Liquidity wicks are a minor representation of a stop-loss hunt during the retracement of a pivot point:
โค Buy and Sell side liquidity:
The buy side liquidity represents a concentration of potential buy orders below the current price level. When price moves into this area, it can lead to increased buying pressure due to the execution of these orders.
The sell side liquidity indicates a pool of potential sell orders below the current price level. Price movement into this area can result in increased selling pressure as these orders are executed.
โค Sweep Liquidation Zones:
Sweep Liquidation Zones are crucial for understanding market structure and potential future price movements. They provide insights into areas where significant market participants have been forced out of their positions, potentially setting up new trading opportunities.
๐ต USAGE & EXAMPLES
The core principle behind the success of this toolkit lies in identifying "confluence." This refers to the convergence of multiple trading indicators all signaling the same information at a specific point or area. By seeking such alignment, traders can significantly enhance the likelihood of successful trades.
MS + OBs
The chart illustrates a highly bullish setup where the price is rejecting from a bullish order block (POC), while simultaneously forming a bullish Swing Failure Pattern (SFP). This occurs after an internal structure change, marked by a bullish Change of Character (CHoCH). The price broke through a bearish order block, transforming it into a breaker block, further confirming the bullish momentum.
The combination of these elementsโbullish order blocks, SFP, and CHoCHโcreates a powerful bullish signal, reinforcing the potential for upward movement in the market.
SFP + Bear OB
This chart above displays a bearish setup with a high probability of a price move lower. The price is currently rejecting from a bear order block, which represents a key resistance area where significant selling pressure has previously occurred. A Swing Failure Pattern (SFP) has also formed near this bear order block, indicating that the price briefly attempted to break above a recent high but failed to sustain that upward movement. This failure suggests that buyers are losing momentum, and the market could be preparing for a move to the downside.
Additionally, we can toggle on the Deviation Area in the SFP section to highlight potential levels where price deviation might occur. These deviation areas represent zones where the price is likely to react after the Swing Failure Pattern:
BUY โ SELL sides + EQL
The chart showcases a bullish setup with a high probability of price breaking out of the current sell-side resistance level. The market structure indicates a formation of Equal Lows (EQL), which often suggests a build-up of liquidity that could drive the price higher.
The presence of strong buy-side pressure (69%), indicated by the green zone at the bottom, reinforces this bullish outlook. This area represents a key support zone where buyers are outpacing sellers, providing the foundation for a potential upward breakout.
EQL + Bull ChoCh
This chart illustrates a potential bullish setup, driven by the formation of Equal Lows (EQL) followed by a bullish Change of Character (CHoCH). The presence of Equal Lows often signals a liquidity build-up, which can lead to a reversal when combined with additional bullish signals.
Liquidity grab + Bull ChoCh + FVGs
This chart demonstrates a strong bullish scenario, where several important market dynamics are at play. The price begins its upward momentum from Liquidity grab following a bullish Change of Character (CHoCH), signaling the transition from a bearish phase to a bullish one.
As the price progresses, it performs liquidity grabs, which serve to gather the necessary fuel for further movement. These liquidity grabs often occur before significant price surges, as large market participants exploit these areas to accumulate positions before pushing the price higher.
The chart also highlights a market imbalance area, showing strong momentum as the price moves swiftly through this zone.
In this examples, we see how the combination of multiple โsmart moneyโ tools helps identify a potential trade opportunities. This is just one of the many scenarios that traders can spot using this toolkit. Other combinationsโsuch as order blocks, liquidity grabs, fair value gaps, and Swing Failure Patterns (SFPs)โcan also be layered on top of these concepts to further refine your trading strategy.
๐ต SETTINGS
Window: limit calculation period
Swing: limit drawing function
Mapping structure: show structural points
Algorithmic Logic: (Extreme-Adjusted) Use max high/low or pivot point calculation
Algorithmic loopback: pivot point look back
Show Last: Amount of Order block to display
Hide Overlap: hide overlapping order blocks
Construction: Size of the order blocks
Fair value gaps: Choose between normal FVG or Breaker FVG
Mitigation: (close - wick - avg) point to mitigate the order block/imbalance
SFP lookback: find a higher / lower point to improve accuracy
Threshold: remove less relevant SFP
Equal H&L: (short-mid-long term) display longer term
Liquidity Prints: Shows wicks of candles where liquidity was grabbed
Sweep Area: Identify Sweep Liquidation areas
By combining these indicators in one toolkit, traders are equipped with a comprehensive suite of tools that address every angle of the Smart Money Concept. Instead of relying on disparate tools spread across various platforms, having them integrated into a single, cohesive system allows traders to easily see confluence and make more informed trading decisions.
ICT Balance Price Range [UAlgo]The "ICT Balance Price Range " indicator identifies and visualizes potential balance price ranges (BPRs) on a price chart. These ranges are indicative of periods where the market exhibits balance between bullish and bearish forces, often preceding significant price movements.
๐ถ What is Balanced Price Range (BPR) ?
Balanced Price Range is a concept based on Fair Value Gap. Balanced price range (BPR) is the area on price chart where two opposite fair value gaps overlap.
When price approaches the Balanced Price Range (BPR), we assume that the price will react quickly and strongly here. This is because its the combination of two fair value gaps and being a good point of interest for smart money traders.
๐ถ Key Features:
Bars to Consider: Determines the number of bars to evaluate for BPR conditions.
Threshold for BPR: Sets the minimum range required for a valid BPR to be identified.
Remove Old BPR: Option to automatically remove invalidated BPRs from the chart.
Bearish/Bullish Box Color: Customizable colors for visual representation of bearish and bullish BPRs.
๐ถ Disclaimer
This indicator is provided for educational and informational purposes only.
It should not be considered as financial advice or a recommendation to buy or sell any financial instrument.
The use of this indicator involves inherent risks, and users should employ their own judgment and conduct their own research before making any trading decisions. Past performance is not indicative of future results.
๐ท Related Scripts
Fair Value Gaps (FVG)
Sunmool's Next Day Model FVG AlertNY Killzone FVG Alert - ICT Fair Value Gap Detection Indicator
This comprehensive Pine Script indicator is specifically designed for traders following ICT (Inner Circle Trader) methodology and Smart Money Concepts. The indicator automatically detects Fair Value Gaps (FVG) that occur during the New York Killzone session, providing real-time alerts when these critical market imbalances are identified.
Key Features:
๐ฏ Fair Value Gap Detection
Automatically identifies bullish and bearish Fair Value Gaps using the classic 3-candle pattern
Filters gaps based on customizable minimum size thresholds to avoid insignificant imbalances
Provides visual representation through colored boxes and labels for easy identification
โฐ New York Killzone Focus
Specifically monitors the NY Killzone session (default: 7:00 AM - 10:00 AM EST)
Fully customizable session times to accommodate different trading preferences
Only detects FVGs when all three candles forming the gap occur within the killzone timeframe
๐
ICT Next Day Model Compliance
Automatically excludes Mondays from FVG detection as per ICT Next Day Model principles
Optional Monday exclusion can be toggled on/off based on trading strategy
Ensures alignment with professional ICT trading methodologies
๐ Advanced Alert System
Three distinct alert conditions: Bullish FVG, Bearish FVG, and Combined alerts
Customizable alert messages for different notification preferences
Compatible with TradingView's full alert system including email, SMS, and webhook notifications
๐จ Visual Customization
Adjustable colors for bullish and bearish FVG boxes
Configurable box extension length for better visualization
Optional background highlighting during killzone sessions
Clean, professional chart presentation that doesn't clutter your analysis
๐ Technical Specifications
Works on all timeframes, though most effective on intraday charts (1m, 5m, 15m)
Timezone-aware calculations ensure accurate session detection globally
Efficient code structure minimizes processing load and chart lag
Compatible with other indicators and doesn't interfere with existing chart setups
๐ฏ Ideal For:
ICT methodology traders seeking automated FVG detection
Smart Money Concepts practitioners
Scalpers and day traders focusing on NY session
Traders looking to identify high-probability entry zones
Anyone interested in market structure and liquidity concepts
๐ Trading Applications:
Fair Value Gaps often serve as areas where price may return to "fill" the imbalance, making them excellent zones for:
Potential reversal areas
Take profit targets
Stop loss placement reference points
Market structure analysis
Confluence with other ICT concepts
โ๏ธ Customizable Parameters:
FVG minimum size filter
Killzone session start/end times
Visual display options
Alert preferences
Color schemes and styling options
This indicator brings institutional trading concepts to retail traders, helping identify the same market inefficiencies that smart money targets. By focusing specifically on the New York Killzone - one of the most liquid and volatile trading sessions - it provides high-quality signals during optimal market conditions.
Whether you're new to ICT concepts or an experienced trader looking to automate your FVG detection, this indicator provides the precision and reliability needed for professional trading analysis.
FVG [TakingProphets]๐ง Purpose
This indicator is built for traders applying Inner Circle Trader (ICT) methodology. It detects and manages Fair Value Gaps (FVGs) โ price imbalances that often act as future reaction zones. It also highlights New Day Opening Gaps (NDOGs) and New Week Opening Gaps (NWOGs) that frequently play a role in early-session price behavior.
๐ What is a Fair Value Gap?
A Fair Value Gap forms when price moves rapidly, skipping over a portion of the chart between three candles โ typically between the high of the first candle and the low of the third. These zones are considered inefficient, meaning institutions may return to them later to:
-Rebalance unfilled orders
-Enter or scale into positions
-Engineer liquidity with minimal slippage
In ICT methodology, FVGs are seen as both entry zones and targets, depending on market structure and context.
โ๏ธ How It Works
-This script automatically identifies and manages valid FVGs using the following logic:
-Bullish FVGs: When the low of the current candle is above the high from two candles ago
-Bearish FVGs: When the high of the current candle is below the body of two candles ago
-Minimum Gap Filter: Gaps must be larger than 0.05% of price
-Combine Consecutive Gaps (optional): Merges adjacent gaps of the same type
-Consequent Encroachment Line (optional): Plots the midpoint of each gap
-NDOG/NWOG Tracking: Labels gaps created during the 5โ6 PM session transition
-Automatic Invalidation: Gaps are removed once price closes beyond their boundary
๐ฏ Practical Use
-Use unmitigated FVGs as potential entry points or targets
-Monitor NDOG and NWOG for context around daily or weekly opens
-Apply the midpoint (encroachment) line for precise execution decisions
-Let the script handle cleanup โ only active, relevant zones remain visible
๐จ Customization
-Control colors for bullish, bearish, and opening gaps
-Toggle FVG borders and midpoint lines
-Enable or disable combining of consecutive gaps
-Fully automated zone management, no manual intervention required
โ
Summary
This tool offers a clear, rules-based approach to identifying price inefficiencies rooted in ICT methodology. Whether used for intraday or swing trading, it helps traders stay focused on valid, active Fair Value Gaps while filtering out noise and maintaining chart clarity.
FVG Radar [Mr_Rakun]The FVG Radar indicator is designed to automatically detect Fair Value Gaps (FVG) on your TradingView chart. It visually highlights bullish and bearish gaps with colored boxes and provides alerts when specific conditions are met.
How It Works
Fair Value Gap (FVG) Detection:
The script identifies gaps based on previous price action. A bullish FVG is recognized when there is a gap below a higher low candle, and a bearish FVG when there is a gap above a lower high candle.
Radar Area:
A yellow โRadar Areaโ box is drawn on the chart using upper and lower bands defined as a percentage above and below the current price. This area helps you visualize where the price is relative to these bands.
Alerts:
Alerts are triggered based on user-defined conditions:
When price crosses half of the gap (if the "Clear FVG When Price Reaches Half" option is enabled).
When price fully fills the gap (if the option is disabled).
The alert will only be activated after waiting a specified number of bars post-gap formation (as set by the "Wait X Bars After FVG Formation" parameter).
Input Parameters
Radar Upper Band (%):
Sets the upper threshold percentage relative to the current price for the radar area.
Radar Lower Band (%):
Sets the lower threshold percentage relative to the current price for the radar area.
Minimum FVG Size (%):
Determines the minimum size (as a percentage) for a gap to be recognized as a valid FVG.
Clear FVG When Price Reaches Half:
If enabled, the FVG will be cleared when the price reaches the midpoint of the gap. If disabled, the entire gap must be filled before it is cleared.
Wait X Bars After FVG Formation:
Specifies the number of bars to wait after an FVG is detected before triggering an alert. This delay helps to avoid premature alerts.
Bullish and Bearish FVG Colors and Opacity:
Customize the appearance of the FVG boxes for bullish (green) and bearish (red) gaps, including the opacity of these visual elements.
How to Use
Add the Indicator:
Load the FVG Radar indicator on your TradingView chart.
Customize Settings:
Adjust the input parameters based on your trading style and the marketโs volatility. The radar area settings help you set your own visual reference for price deviations.
Monitor the Chart:
Watch for the colored boxes that represent FVGs. The boxes will display the size of the gap as a percentage.
Respond to Alerts:
When an alert is triggered after the specified number of bars, it indicates that the price has interacted with the gap. Use this information to guide your trading decisions.
Tรผrkรงe --------------------------------------------
FVG Radar gรถstergesi, TradingView grafiฤinizde Fair Value Gap (FVG) โ yani adil deฤer boลluklarฤฑnฤฑ โ otomatik olarak tespit etmek iรงin tasarlanmฤฑลtฤฑr. Bu boลluklar, yรผkseliล ve dรผลรผล boลluklarฤฑnฤฑ farklฤฑ renkli kutularla vurgular ve belirli koลullar saฤlandฤฑฤฤฑnda uyarฤฑlar verir.
Nasฤฑl รalฤฑลฤฑr
Fair Value Gap (FVG) Tespiti:
Gรถsterge, รถnceki fiyat hareketlerine dayalฤฑ olarak boลluklarฤฑ belirler. Yรผkseliล boลluฤu, dรผลรผk seviyenin yukarฤฑdaki mumun altฤฑndaki boลlukla oluลtuฤu durumlarda; dรผลรผล boลluฤu ise, yรผksek seviyenin aลaฤฤฑdaki mumun รผstรผnde boลluk oluลtuฤunda tespit edilir.
Radar Alanฤฑ:
Grafikte, mevcut fiyata gรถre belirlenen รผst ve alt yรผzde bantlarฤฑna dayalฤฑ olarak sarฤฑ renkte โRadar Alanฤฑโ kutusu รงizilir. Bu alan, fiyatฤฑn bu bantlara gรถre nerede olduฤunu gรถrsel olarak anlamanฤฑza yardฤฑmcฤฑ olur.
Uyarฤฑlar:
Kullanฤฑcฤฑnฤฑn belirlediฤi koลullara gรถre uyarฤฑlar verilir:
Fiyat, boลluฤun yarฤฑsฤฑna ulaลtฤฑฤฤฑnda (eฤer "FVG'nin yarฤฑsฤฑna ulaลtฤฑฤฤฑnda temizle" seรงeneฤi etkinse).
Fiyat boลluฤu tamamen doldurduฤunda (seรงenek devre dฤฑลฤฑ bฤฑrakฤฑldฤฑฤฤฑnda).
Uyarฤฑ, boลluk oluลumundan sonra belirlenen bar sayฤฑsฤฑ kadar bekledikten sonra tetiklenir ("FVG Oluลumundan Sonra X Bar Bekle" parametresi).
Giriล Parametreleri
Radar Upper Band (%):
Mevcut fiyata gรถre radar alanฤฑ iรงin รผst eลik yรผzdesini ayarlar.
Radar Lower Band (%):
Mevcut fiyata gรถre radar alanฤฑ iรงin alt eลik yรผzdesini ayarlar.
Minimum FVG Size (%):
Bir boลluฤun geรงerli bir FVG olarak tanฤฑnabilmesi iรงin gereken minimum boyutu (yรผzde olarak) belirler.
FVG'nin yarฤฑsฤฑna ulaลtฤฑฤฤฑnda temizle:
Etkinse, fiyat boลluฤun orta noktasฤฑna ulaลtฤฑฤฤฑnda boลluk temizlenir. Devre dฤฑลฤฑ bฤฑrakฤฑlฤฑrsa, boลluฤun tamamen doldurulmasฤฑ gerekir.
FVG Oluลumundan Sonra X Bar Bekle:
Bir FVG tespit edildikten sonra uyarฤฑ tetiklenmeden รถnce beklenmesi gereken bar sayฤฑsฤฑnฤฑ belirler. Bu gecikme, erken uyarฤฑlarฤฑn รถnรผne geรงmeyi amaรงlar.
Yรผkseliล ve Dรผลรผล FVG Renkleri ve Opaklฤฑk:
Yรผkseliล boลluklarฤฑ (yeลil) ve dรผลรผล boลluklarฤฑ (kฤฑrmฤฑzฤฑ) iรงin kutularฤฑn gรถrรผnรผmรผnรผ ve opaklฤฑฤฤฑnฤฑ รถzelleลtirmenize olanak tanฤฑr.
Nasฤฑl Kullanฤฑlฤฑr
Gรถstergeyi Ekleyin:
FVG Radar gรถstergesini TradingView grafiฤinize ekleyin.
Ayarlarฤฑ รzelleลtirin:
Ticaret tarzฤฑnฤฑza ve piyasanฤฑn oynaklฤฑฤฤฑna gรถre giriล parametrelerini ayarlayฤฑn. Radar alanฤฑ ayarlarฤฑ, fiyat sapmalarฤฑnฤฑ kendi gรถrsel referansฤฑnฤฑzla tanฤฑmlamanฤฑza yardฤฑmcฤฑ olur.
Grafiฤi ฤฐzleyin:
FVGโleri temsil eden renkli kutularฤฑ takip edin. Kutular, boลluฤun yรผzdelik bรผyรผklรผฤรผnรผ gรถsterecektir.
Uyarฤฑlara Tepki Verin:
Belirlenen bar sayฤฑsฤฑ sonrasฤฑnda tetiklenen uyarฤฑ, fiyatฤฑn boลluk ile etkileลime girdiฤini gรถsterir. Bu bilgiyi, ticaret kararlarฤฑnฤฑzฤฑ yรถnlendirmek iรงin kullanฤฑn.
Son Model ICT [TradingFinder] HTF DOL H1 + Sweep M15 + FVG M1๐ต Introduction
The ICT Son Model setup is a precise trading strategy based on market structure and liquidity, implemented across multiple timeframes. This setup first identifies a liquidity level in the 1-hour (1H) timeframe and then confirms a Market Structure Shift (MSS) in the 5-minute (5M) timeframe to validate the trend. After confirmation, the price forms a new swing in the 5-minute timeframe, absorbing liquidity.
Once this level is broken, traders typically drop to the 30-second (30s) timeframe and enter trades based on a Fair Value Gap (FVG). However, since access to the 30-second timeframe is not available to most traders, we take the entry signal directly from the 5-minute timeframe, using the same liquidity zones and confirmed breakouts to execute trades. This approach simplifies execution and makes the strategy accessible to all traders.
This model operates in two setups :
Bullish ICT Son Model and Bearish ICT Son Model. In the bullish setup, liquidity is first accumulated at the lows of the 1-hour timeframe, and after confirming a market structure shift, a long position is initiated. Conversely, in the bearish setup, liquidity is first drawn from higher levels, and upon confirmation of a bearish trend, a short position is executed.
Bullish Setup :
Bearish Setup :
๐ต How to Use
The ICT Son Model setup is designed around liquidity analysis and market structure shifts and can be applied in both bullish and bearish market conditions. The strategy first identifies a liquidity level in the 1-hour (1H) timeframe and then confirms a Market Structure Shift (MSS) in the 5-minute (5M) timeframe.
After this shift, the price forms a new swing, absorbing liquidity. When this level is broken in the 5-minute timeframe, the trader enters based on a Fair Value Gap (FVG). While the ideal entry is in the 30-second (30s) timeframe, due to accessibility constraints, we take entry signals directly from the 5-minute timeframe.
๐ฃ Bullish Setup
In the Bullish ICT Son Model, the 1-hour timeframe first identifies liquidity at the market lows, where price sweeps this level to absorb liquidity. Then, in the 5-minute timeframe, an MSS confirms the bullish shift.
After confirmation, the price forms a new swing, absorbing liquidity at a higher level. The price then retraces into a Fair Value Gap (FVG) created in the 5-minute timeframe, where the trader enters a long position, placing the stop-loss below the FVG.
๐ฃ Bearish Setup
In the Bearish ICT Son Model, liquidity at higher market levels is identified in the 1-hour timeframe, where price sweeps these levels to absorb liquidity. Then, in the 5-minute timeframe, an MSS confirms the bearish trend.
After confirmation, the price forms a new swing, absorbing liquidity at a lower level. The price then retraces into a Fair Value Gap (FVG) created in the 5-minute timeframe, where the trader enters a short position, placing the stop-loss above the FVG.
๐ต Settings
Swing period : You can set the swing detection period.
Max Swing Back Method : It is in two modes "All" and "Custom". If it is in "All" mode, it will check all swings, and if it is in "Custom" mode, it will check the swings to the extent you determine.
Max Swing Back : You can set the number of swings that will go back for checking.
FVG Length : Default is 120 Bar.
MSS Length : Default is 80 Bar.
FVG Filter : This refines the number of identified FVG areas based on a specified algorithm to focus on higher quality signals and reduce noise.
Types of FVG filters :
Very Aggressive Filter: Adds a condition where, for an upward FVG, the last candle's highest price must exceed the middle candle's highest price, and for a downward FVG, the last candle's lowest price must be lower than the middle candle's lowest price. This minimally filters out FVGs.
Aggressive Filter: Builds on the Very Aggressive mode by ensuring the middle candle is not too small, filtering out more FVGs.
Defensive Filter: Adds criteria regarding the size and structure of the middle candle, requiring it to have a substantial body and specific polarity conditions, filtering out a significant number of FVGs.
Very Defensive Filter: Further refines filtering by ensuring the first and third candles are not small-bodied doji candles, retaining only the highest quality signals.
๐ต Conclusion
The ICT Son Model setup is a structured and precise method for trade execution based on liquidity analysis and market structure shifts. This strategy first identifies a liquidity level in the 1-hour timeframe and then confirms a trend shift using the 5-minute timeframe.
Trade entries are executed based on Fair Value Gaps (FVGs), which highlight optimal entry points. By applying this model, traders can leverage existing market liquidity to enter high-probability trades. The bullish setup activates when liquidity is swept from market lows and a market structure shift confirms an upward trend, whereas the bearish setup is used when liquidity is drawn from market highs, confirming a downtrend.
This approach enables traders to identify high-probability trade setups with greater precision compared to many other strategies. Additionally, since access to the 30-second timeframe is limited, the strategy remains fully functional in the 5-minute timeframe, making it more practical and accessible for a wider range of traders.
Twitter Model ICT [TradingFinder] MMXM ERL D + FVG + M15 MSS/SMT๐ต Introduction
The Twitter Model ICT is a trading approach based on ICT (Inner Circle Trader) models, focusing on price movement between external and internal liquidity in lower timeframes. This model integrates key concepts such as Market Structure Shift (MSS), Smart Money Technique (SMT) divergence, and CISD level break to identify precise entry points in the market.
The primary goal of this model is to determine key liquidity levels, such as the previous dayโs high and low (PDH/PDL) and align them with the Fair Value Gap (FVG) in the 1-hour timeframe. The overall strategy involves framing trades around the 1H FVG and using the M15 Market Structure Shift (MSS) for entry confirmation.
The Twitter Model ICT is designed to utilize external liquidity levels, such as PDH/PDL, as key entry zones. The model identifies FVG in the 1-hour timeframe, which acts as a magnet for price movement. Additionally, traders confirm entries using M15 Market Structure Shift (MSS) and SMT divergence.
Bullish Twitter Model :
In a bullish setup, the price sweeps the previous dayโs low (PDL), and after confirming reversal signals, buys are executed in internal liquidity zones. Conversely, in a bearish setup, the price sweeps the previous dayโs high (PDH), and after confirming weakness signals, sells are executed.
Bearish Twitter Model :
In short setups, entries are only executed above the Midnight Open, while in long setups, entries are taken below the Midnight Open. Adhering to these principles allows traders to define precise entry and exit points and analyze price movement with greater accuracy based on liquidity and market structure.
๐ต How to Use
The Twitter Model ICT is a liquidity-based trading strategy that analyzes price movements relative to the previous dayโs high and low (PDH/PDL) and Fair Value Gap (FVG). This model is applicable in both bullish and bearish directions and utilizes the 1-hour (1H) and 15-minute (M15) timeframes for entry confirmation.
The price first sweeps an external liquidity level (PDH or PDL) and then provides an entry opportunity based on Market Structure Shift (MSS) and SMT divergence. Additionally, the entry should be positioned relative to the Midnight Open, meaning long entries should occur below the Midnight Open and short entries above it.
๐ฃ Bullish Twitter Model
In a bullish setup, the price first sweeps the previous dayโs low (PDL) and reaches an external liquidity level. Then, in the 1-hour timeframe (1H), a bullish Fair Value Gap (FVG) forms, which serves as the price target.
To confirm the entry, a Market Structure Shift (MSS) in the 15-minute timeframe (M15) should be observed, signaling a trend reversal to the upside. Additionally, SMT divergence with correlated assets can indicate weakness in selling pressure.
Under these conditions, a long position is taken below the Midnight Open, with a stop-loss placed at the lowest point of the recent bearish move. The price target for this trade is the FVG in the 1-hour timeframe.
๐ฃ Bearish Twitter Model
In a bearish setup, the price first sweeps the previous dayโs high (PDH) and reaches an external liquidity level. Then, in the 1-hour timeframe (1H), a bearish Fair Value Gap (FVG) is identified, serving as the trade target.
To confirm entry, a Market Structure Shift (MSS) in the 15-minute timeframe (M15) should form, signaling a trend shift to the downside. If an SMT divergence is present, it can provide additional confirmation for the trade.
Once these conditions are met, a short position is taken above the Midnight Open, with a stop-loss placed at the highest level of the recent bullish move. The trade's price target is the FVG in the 1-hour timeframe.
๐ต Settings
Bar Back Check : Determining the return of candles to identify the CISD level.
CISD Level Validity : CISD level validity period based on the number of candles.
Daily Position : Determines whether only the first signal of the day is considered or if signals are evaluated throughout the entire day.
Session : Specifies in which trading sessions the indicator will be active.
Second Symbol : This setting allows you to select another asset for comparison with the primary asset. By default, "XAUUSD" (Gold) is set as the second symbol, but you can change it to any currency pair, stock, or cryptocurrency. For example, you can choose currency pairs like EUR/USD or GBP/USD to identify divergences between these two assets.
Divergence Fractal Periods : This parameter defines the number of past candles to consider when identifying divergences. The default value is 2, but you can change it to suit your preferences. This setting allows you to detect divergences more accurately by selecting a greater number of candles.
The indicator allows displaying sessions based on various time zones. The user can select one of the following options :
UTC (Coordinated Universal Time)
Local Time of the Session
Userโs Local Time
Show Open Price : Displays the New York market opening price.
Show PDH / PDL : Displays the previous dayโs high and low to identify potential entry points.
Show SMT Divergence : Displays lines and labels for bullish ("+SMT") and bearish ("-SMT") divergences.
๐ต Conclusion
The Twitter Model ICT is an effective approach for analyzing and executing trades in financial markets, utilizing a combination of liquidity principles, market structure, and SMT confirmations to identify optimal entry and exit points.
By analyzing the previous dayโs high and low (PDH/PDL), Fair Value Gaps (FVG), and Market Structure Shift (MSS) in the 1H and M15 timeframes, traders can pinpoint liquidity-driven trade opportunities. Additionally, considering the Midnight Open level helps traders avoid random entries and ensures better trade placement.
By applying this model, traders can interpret market movements based on liquidity flow and structural changes, allowing them to fine-tune their trading decisions with higher precision. Ultimately, the Twitter Model ICT provides a structured and logical approach for traders who seek to trade based on liquidity behavior and trend shifts in the market.
Cumulative Volume Delta Strategy | Flux Charts๐ GENERAL OVERVIEW
Introducing the Cumulative Volume Delta Strategy (CVDS) Indicator, an advanced tool designed to enhance trading strategies by identifying potential trend reversals through volume dynamics. This script features integrated order block detection, Fair Value Gaps (FVGs), and a dynamic take-profit (TP) and stop-loss (SL) system. For an in-depth understanding of the strategy, refer to the "HOW DOES IT WORK?" section below.
Features of the new Cumulative Volume Delta Strategy (CVDS) Indicator :
Cumulative Volume Delta-based Strategy
Order Block and Fair Value Gap (FVG) Entry Methods
Dynamic TP/SL System
Customizable Risk Management Settings
Alerts for Buy, Sell, TP, and SL Signals
๐ HOW DOES IT WORK ?
The CVDS indicator operates by tracking the net volume difference between buyers and sellers to identify divergences that could indicate potential trend reversals. A cumulative volume delta (CVD) calculation is employed to measure the intensity of these divergences in relation to price movements. The net volume sum is reset every trading day (can be changed from the settings using the anchor period option), and divergences are detected when the cumulative volume crosses the 0-line over or under.
Once a significant divergence is detected, the indicator identifies breakout points, confirmed by either Fair Value Gaps (FVGs) or Order Blocks (OBs). Depending on your chosen entry mode, the indicator will trigger a buy or sell entry when the confirmation signal aligns with the breakout direction. Alerts for Buy, Sell, Take-Profit, and Stop-Loss are available.
Note that the indicator cannot run on 1-minute and 1-second charts, as it needs to get data from a lower timeframe. 1-minutes & 1-second timeframes are the minimum timeframes in their ranges respectively.
๐ฉ UNIQUENESS
What sets this indicator apart is the combination of volume divergence analysis with advanced price action tools like Fair Value Gaps (FVGs) and Order Blocks (OBs). The ability to choose between these methods, along with a dynamic TP/SL system that adapts based on volatility, provides flexibility for traders in any market condition. The backtesting dashboard provides metrics about the performance of the indicator. You can use it to tune the settings for best use in the current ticker. The CVD-based strategy ensures that trades are initiated only when meaningful divergences between volume and price occur, filtering out noise and increasing the likelihood of profitable trades.
โ๏ธ SETTINGS
1. General Configuration
Anchor Period: Time anchor period used in CVD calculation. This is essentially the period that the volume delta sum will be reset. Lower timeframes may result in more entries at the cost of less reliable results.
Entry Mode: Choose between FVGs or OBs to trigger your entries based on the confirmation signals.
Retracement Requirement: Enable to confirm the entry after a retracement toward the FVG or OB.
2. Fair Value Gaps
FVG Sensitivity: Modify the sensitivity of FVG detection, allowing for more or fewer gaps to be considered valid.
3. Order Blocks (OB)
Swing Length: Define the swing length to identify OB formations. Shorter lengths find smaller OBs, while longer lengths detect larger structures.
4. TP / SL
TP / SL Method:
a) Dynamic: The TP / SL zones will be auto-determined by the algorithm based on the Average True Range (ATR) of the current ticker.
b) Fixed : You can adjust the exact TP / SL ratios from the settings below.
Dynamic Risk: The risk you're willing to take if "Dynamic" TP / SL Method is selected. Higher risk usually means a better winrate at the cost of losing more if the strategy fails. This setting is has a crucial effect on the performance of the indicator, as different tickers may have different volatility so the indicator may have increased performance when this setting is correctly adjusted.
Basic FVGBasic Fair Value Gap (FVG) Indicator
The Basic Fair Value Gap (FVG) Indicator is a tool designed for traders using the TradingView platform to identify and visualize Fair Value Gaps (FVGs) on any given chart.
Key Features:
Bullish and Bearish FVG Detection: The indicator automatically detects and highlights both bullish and bearish Fair Value Gaps on the chart. Bullish gaps are highlighted in blue, while bearish gaps are marked in red, with customizable transparency for clear visibility.
Customizable Parameters:
Max Bars Back: Users can set the maximum number of bars to look back in order to find potential FVGs.
Box Length: The length of the FVG box can be adjusted to fit the user's preference, allowing for better visual management on different timeframes.
Tick Buffer for Close Validation: The indicator only considers an FVG filled if the price closes beyond the gap by a customizable tick buffer, ensuring precise gap closure recognition.
Automatic Removal of Filled Gaps: Once an FVG is filled (i.e., the price closes beyond the gap by the defined tick buffer), the corresponding FVG box is automatically removed from the chart. This keeps the chart clean and focused on active gaps.
Real-Time Updates: The indicator updates in real-time, ensuring that traders have the most current information about potential gaps in price, which could signify strong support or resistance levels.
GEEKSDOBYTE IFVG w/ Buy/Sell Signals1. Inputs & Configuration
Swing Lookback (swingLen)
Controls how many bars on each side are checked to mark a swing high or swing low (default = 5).
Booleans to Toggle Plotting
showSwingsโโ Show small triangle markers at swing highs/lows
showFVGโโ Show Fair Value Gap zones
showSignalsโโ Show โBUYโ/โSELLโ labels when price inverts an FVG
showDDLineโโ Show a yellow โDDโ line at the close of the inversion bar
showCEโโ Show an orange dashed โCEโ line at the midpoint of the gap area
2. Swing High / Low Detection
isSwingHigh = ta.pivothigh(high, swingLen, swingLen)
Marks a bar as a swing high if its high is higher than the highs of the previous swingLen bars and the next swingLen bars.
isSwingLow = ta.pivotlow(low, swingLen, swingLen)
Marks a bar as a swing low if its low is lower than the lows of the previous and next swingLen bars.
Plotting
If showSwings is true, small red downward triangles appear above swing highs, and green upward triangles below swing lows.
3. Fair Value Gap (3โBar) Identification
A Fair Value Gap (FVG) is defined here using a simple threeโbar logic (sometimes called an โinefficiencyโ in price):
Bullish FVG (bullFVG)
Checks if, two bars ago, the low of that bar (low ) is strictly greater than the current barโs high (high).
In other words:
bullFVG = low > high
Bearish FVG (bearFVG)
Checks if, two bars ago, the high of that bar (high ) is strictly less than the current barโs low (low).
In other words:
bearFVG = high < low
When either condition is true, it identifies a threeโbar โgapโ or unfilled imbalance in the market.
4. Drawing FVG Zones
If showFVG is enabled, each time a bullish or bearish FVG is detected:
Bullish FVG Zone
Draws a semiโtransparent green box from the bar two bars ago (where the gap began) at low up to the current barโs high.
Bearish FVG Zone
Draws a semiโtransparent red box from the bar two bars ago at high down to the current barโs low.
These colored boxes visually highlight the โfair value imbalanceโ area on the chart.
5. Inversion (Fill) Detection & Entry Signals
An inversion is defined as the price โclosing throughโ that previously drawn FVG:
Bullish Inversion (bullInversion)
Occurs when a bullish FVG was identified on bar-2 (bullFVG), and on the current bar the close is greater than that old bar-2 low:
bullInversion = bullFVG and close > low
Bearish Inversion (bearInversion)
Occurs when a bearish FVG was identified on bar-2 (bearFVG), and on the current bar the close is lower than that old bar-2 high:
bearInversion = bearFVG and close < high
When an inversion is true, the indicator optionally draws two lines and a label (depending on input toggles):
Draw โDDโ Line (yellow, solid)
Plots a horizontal yellow line from the current barโs close price extending five bars forward (bar_index + 5). This is often referred to as a โDemand/Daily Demandโ line, marking where price inverted the gap.
Draw โCEโ Line (orange, dashed)
Calculates the midpoint (ce) of the original FVG zone.
For a bullish inversion:
ce = (low + high) / 2
For a bearish inversion:
ce = (high + low) / 2
Plots a horizontal dashed orange line at that midpoint for five bars forward.
Plot Label (โBUYโ / โSELLโ)
If showSignals is true, a green โBUYโ label is placed at the low of the current bar when a bullish inversion occurs.
Likewise, a red โSELLโ label at the high of the current bar when a bearish inversion happens.
6. Putting It All Together
Swing Markers (Optional):
Visually confirm recent swing highs and swing lows with small triangles.
FVG Zones (Optional):
Highlight areas where price left a 3-bar gap (bullish in green, bearish in red).
Inversion Confirmation:
Wait for price to close beyond the old FVG boundary.
Once that happens, draw the yellow โDDโ line at the close, the orange dashed โCEโ line at the zoneโs midpoint, and place a โBUYโ or โSELLโ label exactly on that bar.
User Controls:
All of the above elements can be individually toggled on/off (showSwings, showFVG, showSignals, showDDLine, showCE).
In Practice
A bullish FVG forms whenever a strong drop leaves a gap in liquidity (three bars ago low > current high).
When price later โfillsโ that gap by closing above the old low, the script signals a potential long entry (BUY), draws a demand line at the closing price, and marks the midpoint of that gap.
Conversely, a bearish FVG marks a potential short zone (three bars ago high < current low). When price closes below that gapโs high, it signals a SELL, with similar lines drawn.
By combining these elements, the indicator helps users visually identify inefficiencies (FVGs), confirm when price inverts/fills them, and place straightforward buy/sell labels alongside reference lines for trade management.
FvgTypesโโOVERVIEW
This library serves as a foundational module for Pine Scriptโข projects focused on Fair Value Gaps (FVGs). Its primary purpose is to define and centralize custom data structures (User-Defined Types - UDTs) and enumerations that are utilized across various components of an FVG analysis system. By providing standardized types for FVG characteristics and drawing configurations, it promotes code consistency, readability, and easier maintenance within a larger FVG indicator or strategy.
โโCONCEPTS
The library introduces several key data structures (User-Defined Types - UDTs) and an enumeration to organize Fair Value Gap (FVG) related data logically. These types are central to the functioning of FVG analysis tools built upon this library.
Timeframe Categorization (`tfType` Enum)
To manage and differentiate FVGs based on their timeframe of origin, the `tfType` enumeration is defined. It includes:
`LTF`: Low Timeframe (typically the current chart).
`MTF`: Medium Timeframe.
`HTF`: High Timeframe.
This allows for distinct logic and visual settings to be applied depending on the FVG's source timeframe.
FVG Data Encapsulation (`fvgObject` UDT)
The `fvgObject` is a comprehensive UDT designed to encapsulate all pertinent information and state for an individual Fair Value Gap throughout its lifecycle. Instead of listing every field, its conceptual structure can be understood as holding:
Core Definition: The FVG's fundamental price levels (top, bottom) and its formation time (`startTime`).
Classification Attributes: Characteristics such as its direction (`isBullish`) and whether it qualifies as a Large Volume FVG (`isLV`), along with its originating timeframe category (`tfType`).
Lifecycle State: Current status indicators including full mitigation (`isMitigated`, `mitigationTime`), partial fill levels (`currentTop`, `currentBottom`), midline interaction (`isMidlineTouched`), and overall visibility (`isVisible`).
Drawing Identifiers: References (`boxId`, `midLineId`, `mitLineLabelId`, etc.) to the actual graphical objects drawn on the chart to represent the FVG and its components.
Optimization Cache: Previous-bar state values (`prevIsMitigated`, `prevCurrentTop`, etc.) crucial for optimizing drawing updates by avoiding redundant operations.
This comprehensive structure facilitates easy access to all FVG-related information through a single object, reducing code complexity and improving manageability.
Drawing Configuration (`drawSettings` UDT)
The `drawSettings` UDT centralizes all user-configurable parameters that dictate the visual appearance of FVGs across different timeframes. It's typically populated from script inputs and conceptually groups settings for:
General Behavior: Global FVG classification toggles (e.g., `shouldClassifyLV`) and general display rules (e.g., `shouldHideMitigated`).
FVG Type Specific Colors: Colors for standard and Large Volume FVGs, both active and mitigated (e.g., `lvBullColor`, `mitigatedBearBoxColor`).
Timeframe-Specific Visuals (LTF, MTF, HTF): Detailed parameters for each timeframe category, covering FVG boxes (visibility, colors, extension, borders, labels), midlines (visibility, style, color), and mitigation lines (visibility, style, color, labels, persistence after mitigation).
Contextual Information: The current bar's time (`currentTime`) for accurate positioning of time-dependent drawing elements and timeframe display strings (`tfString`, `mtfTfString`, `htfTfString`).
This centralized approach allows for extensive customization of FVG visuals and simplifies the management of drawing parameters within the main script. Such centralization also enhances the maintainability of the visual aspects of the FVG system.
โโNOTES
User-Defined Types (UDTs): This library extensively uses UDTs (`fvgObject`, `drawSettings`) to group related data. This improves code organization and makes it easier to pass complex data between functions and libraries.
Mutability and Reference Behavior of UDTs: When UDT instances are passed to functions or methods in other libraries (like `fvgObjectLib`), those functions might modify the fields of the passed object if they are not explicitly designed to return new instances. This is because UDTs are passed by reference and are mutable in Pine Scriptโข. Users should be aware of this standard behavior to prevent unintended side effects.
Optimization Fields: The `prev_*` fields in `fvgObject` are crucial for performance optimization in the drawing logic. They help avoid unnecessary redrawing of FVG elements if their state or relevant settings haven't changed.
No Direct Drawing Logic: `FvgTypes` itself does not contain any drawing logic. It solely defines the data structures. The actual drawing and manipulation of these objects are handled by other libraries (e.g., `fvgObjectLib`).
Centralized Definitions: By defining these types in a separate library, any changes to the structure of FVG data or settings can be made in one place, ensuring consistency across all dependent scripts and libraries.
โโEXPORTED TYPES
fvgObject
โโfvgObject Represents a Fair Value Gap (FVG) object.
Fields:
โโโโ top (series float) : The top price level of the FVG.
โโโโ bottom (series float) : The bottom price level of the FVG.
โโโโ startTime (series int) : The start time (timestamp) of the bar where the FVG formed.
โโโโ isBullish (series bool) : Indicates if the FVG is bullish (true) or bearish (false).
โโโโ isLV (series bool) : Indicates if the FVG is a Large Volume FVG.
โโโโ tfType (series tfType) : The timeframe type (LTF, MTF, HTF) to which this FVG belongs.
โโโโ isMitigated (series bool) : Indicates if the FVG has been fully mitigated.
โโโโ mitigationTime (series int) : The time (timestamp) when the FVG was mitigated.
โโโโ isVisible (series bool) : The current visibility status of the FVG, typically managed by drawing logic based on filters.
โโโโ isMidlineTouched (series bool) : Indicates if the price has touched the FVG's midline (50% level).
โโโโ currentTop (series float) : The current top level of the FVG after partial fills.
โโโโ currentBottom (series float) : The current bottom level of the FVG after partial fills.
โโโโ boxId (series box) : The drawing ID for the main FVG box.
โโโโ mitigatedBoxId (series box) : The drawing ID for the box representing the partially filled (mitigated) area.
โโโโ midLineId (series line) : The drawing ID for the FVG's midline.
โโโโ mitLineId (series line) : The drawing ID for the FVG's mitigation line.
โโโโ boxLabelId (series label) : The drawing ID for the FVG box label.
โโโโ mitLineLabelId (series label) : The drawing ID for the mitigation line label.
โโโโ testedBoxId (series box) : The drawing ID for the box of a fully mitigated (tested) FVG, if kept visible.
โโโโ keptMitLineId (series line) : The drawing ID for a mitigation line that is kept after full mitigation.
โโโโ prevIsMitigated (series bool) : Stores the isMitigated state from the previous bar for optimization.
โโโโ prevCurrentTop (series float) : Stores the currentTop value from the previous bar for optimization.
โโโโ prevCurrentBottom (series float) : Stores the currentBottom value from the previous bar for optimization.
โโโโ prevIsVisible (series bool) : Stores the visibility status from the previous bar for optimization (derived from isVisibleNow passed to updateDrawings).
โโโโ prevIsMidlineTouched (series bool) : Stores the isMidlineTouched status from the previous bar for optimization.
drawSettings
โโdrawSettings A structure containing settings for drawing FVGs.
Fields:
โโโโ shouldClassifyLV (series bool) : Whether to classify FVGs as Large Volume (LV) based on ATR.
โโโโ shouldHideMitigated (series bool) : Whether to hide FVG boxes once they are fully mitigated.
โโโโ currentTime (series int) : The current bar's time, used for extending drawings.
โโโโ lvBullColor (series color) : Color for Large Volume Bullish FVGs.
โโโโ mitigatedLvBullColor (series color) : Color for mitigated Large Volume Bullish FVGs.
โโโโ lvBearColor (series color) : Color for Large Volume Bearish FVGs.
โโโโ mitigatedLvBearColor (series color) : Color for mitigated Large Volume Bearish FVGs.
โโโโ shouldShowBoxes (series bool) : Whether to show FVG boxes for the LTF.
โโโโ bullBoxColor (series color) : Color for LTF Bullish FVG boxes.
โโโโ mitigatedBullBoxColor (series color) : Color for mitigated LTF Bullish FVG boxes.
โโโโ bearBoxColor (series color) : Color for LTF Bearish FVG boxes.
โโโโ mitigatedBearBoxColor (series color) : Color for mitigated LTF Bearish FVG boxes.
โโโโ boxLengthBars (series int) : Length of LTF FVG boxes in bars (if not extended).
โโโโ shouldExtendBoxes (series bool) : Whether to extend LTF FVG boxes to the right.
โโโโ shouldShowCurrentTfBoxLabels (series bool) : Whether to show labels on LTF FVG boxes.
โโโโ shouldShowBoxBorder (series bool) : Whether to show a border for LTF FVG boxes.
โโโโ boxBorderWidth (series int) : Border width for LTF FVG boxes.
โโโโ boxBorderStyle (series string) : Border style for LTF FVG boxes (e.g., line.style_solid).
โโโโ boxBorderColor (series color) : Border color for LTF FVG boxes.
โโโโ shouldShowMidpoint (series bool) : Whether to show the midline (50% level) for LTF FVGs.
โโโโ midLineWidthInput (series int) : Width of the LTF FVG midline.
โโโโ midpointLineStyleInput (series string) : Style of the LTF FVG midline.
โโโโ midpointColorInput (series color) : Color of the LTF FVG midline.
โโโโ shouldShowMitigationLine (series bool) : Whether to show the mitigation line for LTF FVGs.
(Line always extends if shown)
โโโโ mitLineWidthInput (series int) : Width of the LTF FVG mitigation line.
โโโโ mitigationLineStyleInput (series string) : Style of the LTF FVG mitigation line.
โโโโ mitigationLineColorInput (series color) : Color of the LTF FVG mitigation line.
โโโโ shouldShowCurrentTfMitLineLabels (series bool) : Whether to show labels on LTF FVG mitigation lines.
โโโโ currentTfMitLineLabelOffsetX (series float) : The horizontal offset value for the LTF mitigation line's label.
โโโโ shouldKeepMitigatedLines (series bool) : Whether to keep showing mitigation lines of fully mitigated LTF FVGs.
โโโโ mitigatedMitLineColor (series color) : Color for kept mitigation lines of mitigated LTF FVGs.
โโโโ tfString (series string) : Display string for the LTF (e.g., "Current TF").
โโโโ shouldShowMtfBoxes (series bool) : Whether to show FVG boxes for the MTF.
โโโโ mtfBullBoxColor (series color) : Color for MTF Bullish FVG boxes.
โโโโ mtfMitigatedBullBoxColor (series color) : Color for mitigated MTF Bullish FVG boxes.
โโโโ mtfBearBoxColor (series color) : Color for MTF Bearish FVG boxes.
โโโโ mtfMitigatedBearBoxColor (series color) : Color for mitigated MTF Bearish FVG boxes.
โโโโ mtfBoxLengthBars (series int) : Length of MTF FVG boxes in bars (if not extended).
โโโโ shouldExtendMtfBoxes (series bool) : Whether to extend MTF FVG boxes to the right.
โโโโ shouldShowMtfBoxLabels (series bool) : Whether to show labels on MTF FVG boxes.
โโโโ shouldShowMtfBoxBorder (series bool) : Whether to show a border for MTF FVG boxes.
โโโโ mtfBoxBorderWidth (series int) : Border width for MTF FVG boxes.
โโโโ mtfBoxBorderStyle (series string) : Border style for MTF FVG boxes.
โโโโ mtfBoxBorderColor (series color) : Border color for MTF FVG boxes.
โโโโ shouldShowMtfMidpoint (series bool) : Whether to show the midline for MTF FVGs.
โโโโ mtfMidLineWidthInput (series int) : Width of the MTF FVG midline.
โโโโ mtfMidpointLineStyleInput (series string) : Style of the MTF FVG midline.
โโโโ mtfMidpointColorInput (series color) : Color of the MTF FVG midline.
โโโโ shouldShowMtfMitigationLine (series bool) : Whether to show the mitigation line for MTF FVGs.
(Line always extends if shown)
โโโโ mtfMitLineWidthInput (series int) : Width of the MTF FVG mitigation line.
โโโโ mtfMitigationLineStyleInput (series string) : Style of the MTF FVG mitigation line.
โโโโ mtfMitigationLineColorInput (series color) : Color of the MTF FVG mitigation line.
โโโโ shouldShowMtfMitLineLabels (series bool) : Whether to show labels on MTF FVG mitigation lines.
โโโโ mtfMitLineLabelOffsetX (series float) : The horizontal offset value for the MTF mitigation line's label.
โโโโ shouldKeepMtfMitigatedLines (series bool) : Whether to keep showing mitigation lines of fully mitigated MTF FVGs.
โโโโ mtfMitigatedMitLineColor (series color) : Color for kept mitigation lines of mitigated MTF FVGs.
โโโโ mtfTfString (series string) : Display string for the MTF (e.g., "MTF").
โโโโ shouldShowHtfBoxes (series bool) : Whether to show FVG boxes for the HTF.
โโโโ htfBullBoxColor (series color) : Color for HTF Bullish FVG boxes.
โโโโ htfMitigatedBullBoxColor (series color) : Color for mitigated HTF Bullish FVG boxes.
โโโโ htfBearBoxColor (series color) : Color for HTF Bearish FVG boxes.
โโโโ htfMitigatedBearBoxColor (series color) : Color for mitigated HTF Bearish FVG boxes.
โโโโ htfBoxLengthBars (series int) : Length of HTF FVG boxes in bars (if not extended).
โโโโ shouldExtendHtfBoxes (series bool) : Whether to extend HTF FVG boxes to the right.
โโโโ shouldShowHtfBoxLabels (series bool) : Whether to show labels on HTF FVG boxes.
โโโโ shouldShowHtfBoxBorder (series bool) : Whether to show a border for HTF FVG boxes.
โโโโ htfBoxBorderWidth (series int) : Border width for HTF FVG boxes.
โโโโ htfBoxBorderStyle (series string) : Border style for HTF FVG boxes.
โโโโ htfBoxBorderColor (series color) : Border color for HTF FVG boxes.
โโโโ shouldShowHtfMidpoint (series bool) : Whether to show the midline for HTF FVGs.
โโโโ htfMidLineWidthInput (series int) : Width of the HTF FVG midline.
โโโโ htfMidpointLineStyleInput (series string) : Style of the HTF FVG midline.
โโโโ htfMidpointColorInput (series color) : Color of the HTF FVG midline.
โโโโ shouldShowHtfMitigationLine (series bool) : Whether to show the mitigation line for HTF FVGs.
(Line always extends if shown)
โโโโ htfMitLineWidthInput (series int) : Width of the HTF FVG mitigation line.
โโโโ htfMitigationLineStyleInput (series string) : Style of the HTF FVG mitigation line.
โโโโ htfMitigationLineColorInput (series color) : Color of the HTF FVG mitigation line.
โโโโ shouldShowHtfMitLineLabels (series bool) : Whether to show labels on HTF FVG mitigation lines.
โโโโ htfMitLineLabelOffsetX (series float) : The horizontal offset value for the HTF mitigation line's label.
โโโโ shouldKeepHtfMitigatedLines (series bool) : Whether to keep showing mitigation lines of fully mitigated HTF FVGs.
โโโโ htfMitigatedMitLineColor (series color) : Color for kept mitigation lines of mitigated HTF FVGs.
โโโโ htfTfString (series string) : Display string for the HTF (e.g., "HTF").
Custom V2 KillZone US / FVG / EMAThis indicator is designed for traders looking to analyze liquidity levels, opportunity zones, and the underlying trend across different trading sessions. Inspired by the ICT methodology, this tool combines analysis of Exponential Moving Averages (EMA), session management, and Fair Value Gap (FVG) detection to provide a structured and disciplined approach to trading effectively.
Indicator Features
Identifying the Underlying Trend with Two EMAs
The indicator uses two EMAs on different, customizable timeframes to define the underlying trend:
EMA1 (default set to a daily timeframe): Represents the primary underlying trend.
EMA2 (default set to a 4-hour timeframe): Helps identify secondary corrections or impulses within the main trend.
These two EMAs allow traders to stay aligned with the market trend by prioritizing trades in the direction of the moving averages. For example, if prices are above both EMAs, the trend is bullish, and long trades are favored.
Analysis of Market Sessions
The indicator divides the day into key trading sessions:
Asian Session
London Session
US Pre-Open Session
Liquidity Kill Session
US Kill Zone Session
Each session is represented by high and low zones as well as mid-lines, allowing traders to visualize liquidity levels reached during these periods. Tracking the price levels in different sessions helps determine whether liquidity levels have been "swept" (taken) or not, which is essential for ICT methodology.
Liquidity Signal ("OK" or "STOP")
A specific signal appears at the end of the "Liquidity Kill" session (just before the "US Kill Zone" session):
"OK" Signal: Indicates that liquidity conditions are favorable for trading the "US Kill Zone" session. This means that liquidity levels have been swept in previous sessions (Asian, London, US Pre-Open), and the market is ready for an opportunity.
"STOP" Signal: Indicates that it is not favorable to trade the "US Kill Zone" session, as certain liquidity conditions have not been met.
The "OK" or "STOP" signal is based on an analysis of the high and low levels from previous sessions, allowing traders to ensure that significant liquidity zones have been reached before considering positions in the "Kill Zone".
Detection of Fair Value Gaps (FVG) in the US Kill Zone Session
When an "OK" signal is displayed, the indicator identifies Fair Value Gaps (FVG) during the "US Kill Zone" session. These FVGs are areas where price may return to fill an "imbalance" in the market, making them potential entry points.
Bullish FVG: Detected when there is a bullish imbalance, providing a buying opportunity if conditions align with the underlying trend.
Bearish FVG: Detected when there is a bearish imbalance, providing a selling opportunity in the trend direction.
FVG detection aligns with the ICT Silver Bullet methodology, where these imbalance zones serve as probable entry points during the "US Kill Zone".
How to Use This Indicator
Check the Underlying Trend
Before trading, observe the two EMAs (daily and 4-hour) to understand the general market trend. Trades will be prioritized in the direction indicated by these EMAs.
Monitor Liquidity Signals After the Asian, London, and US Pre-Open Sessions
The high and low levels of each session help determine if liquidity has already been swept in these areas. At the end of the "Liquidity Kill" session, an "OK" or "STOP" label will appear:
"OK" means you can look for trading opportunities in the "US Kill Zone" session.
"STOP" means it is preferable not to take trades in the "US Kill Zone" session.
Look for Opportunities in the US Kill Zone if the Signal is "OK"
When the "OK" label is present, focus on the "US Kill Zone" session. Use the Fair Value Gaps (FVG) as potential entry points for trades based on the ICT methodology. The identified FVGs will appear as colored boxes (bullish or bearish) during this session.
Use ICT Methodology to Manage Your Trades
Follow the FVGs as potential reversal zones in the direction of the trend, and manage your positions according to your personal strategy and the rules of the ICT Silver Bullet method.
Customizable Settings
The indicator includes several customization options to suit the trader's preferences:
EMA: Length, source (close, open, etc.), and timeframe.
Market Sessions: Ability to enable or disable each session, with color and line width settings.
Liquidity Signals: Customization of colors for the "OK" and "STOP" labels.
FVG: Option to display FVGs or not, with customizable colors for bullish and bearish FVGs, and the number of bars for FVG extension.
-------------------------------------------------------------------------------------------------------------
Cet indicateur est conรงu pour les traders souhaitant analyser les niveaux de liquiditรฉ, les zones dโopportunitรฉ, et la tendance de fond ร travers diffรฉrentes sessions de trading. Inspirรฉ de la mรฉthodologie ICT, cet outil combine l'analyse des moyennes mobiles exponentielles (EMA), la gestion des sessions de marchรฉ, et la dรฉtection des Fair Value Gaps (FVG), afin de fournir une approche structurรฉe et disciplinรฉe pour trader efficacement.
FVG + FIBONACCIThe FVG + FIBONACCI indicator is a sophisticated trading tool that combines Fair Value Gap (FVG) detection with Fibonacci analysis across multiple timeframes. It automatically identifies bullish and bearish Fair Value Gaps - price areas where there is no overlap between consecutive candles, creating "gaps" that often act as significant support and resistance zones. The indicator works on any selected higher timeframe while displaying results on the current chart, making it versatile for various trading strategies and timeframe analyses.
What sets this indicator apart is its integration of Fibonacci retracement levels within each detected FVG zone. Once a Fair Value Gap is identified, the indicator automatically draws key Fibonacci levels (23.6%, 38.2%, 50%, 61.8%, and optionally 78.6%) within the gap, providing precise entry and exit points for traders. Additionally, it offers Fibonacci extensions (127.2%, 161.8%, and 261.8%) that project potential price targets beyond the FVG boundaries, helping traders plan their profit-taking strategies more effectively.
The indicator includes comprehensive customization options, allowing users to control the appearance of FVG zones, Fibonacci levels, and extension lines with different colors and styles. It features intelligent zone management with configurable maximum counts and extension lengths, automatic validity checking that grays out filled gaps, and multiple alert conditions for when price enters FVG zones or touches Fibonacci levels. The tool is designed for both swing and intraday traders who want to combine the powerful concepts of Fair Value Gaps with precise Fibonacci-based entry and exit strategies.
FVG + FIBONACCIThe FVG + FIBONACCI indicator is a sophisticated trading tool that combines Fair Value Gap (FVG) detection with Fibonacci analysis across multiple timeframes. It automatically identifies bullish and bearish Fair Value Gaps - price areas where there is no overlap between consecutive candles, creating "gaps" that often act as significant support and resistance zones. The indicator works on any selected higher timeframe while displaying results on the current chart, making it versatile for various trading strategies and timeframe analyses.
What sets this indicator apart is its integration of Fibonacci retracement levels within each detected FVG zone. Once a Fair Value Gap is identified, the indicator automatically draws key Fibonacci levels (23.6%, 38.2%, 50%, 61.8%, and optionally 78.6%) within the gap, providing precise entry and exit points for traders. Additionally, it offers Fibonacci extensions (127.2%, 161.8%, and 261.8%) that project potential price targets beyond the FVG boundaries, helping traders plan their profit-taking strategies more effectively.
The indicator includes comprehensive customization options, allowing users to control the appearance of FVG zones, Fibonacci levels, and extension lines with different colors and styles. It features intelligent zone management with configurable maximum counts and extension lengths, automatic validity checking that grays out filled gaps, and multiple alert conditions for when price enters FVG zones or touches Fibonacci levels. The tool is designed for both swing and intraday traders who want to combine the powerful concepts of Fair Value Gaps with precise Fibonacci-based entry and exit strategies.
SMC+The "SMC+" indicator is a comprehensive tool designed to overlay key Smart Money Concepts (SMC) levels, support/resistance zones, order blocks (OB), fair value gaps (FVG), and trap detection on your TradingView chart. It aims to assist traders in identifying potential areas of interest based on price action, swing structures, and volume dynamics across multiple timeframes. This indicator is fully customizable, allowing users to adjust lookback periods, colors, opacity, and sensitivity to suit their trading style.
Key Components and Functionality
1. Key Levels (Support and Resistance)
This section plots horizontal lines representing support and resistance levels based on highs and lows over three distinct lookback periods, plus daily nearest levels.
Short-Term Lookback Period (Default: 20 bars)
Plots the highest high (short_high) and lowest low (short_low) over the specified period.
Visualized as dotted lines with customizable colors (Short-Term Resistance Color, Short-Term Support Color) and opacity (Short-Term Resistance Opacity, Short-Term Support Opacity).
Adjustment Tip: Increase the lookback (e.g., to 30-50) for less frequent but stronger levels on higher timeframes, or decrease (e.g., to 10-15) for scalping on lower timeframes.
Long-Term Lookback Period (Default: 50 bars)
Plots broader support (long_low) and resistance (long_high) levels using a solid line style.
Customizable via Long-Term Resistance Color, Long-Term Support Color, and their respective opacity settings.
Adjustment Tip: Extend to 100-200 bars for swing trading or major trend analysis on daily/weekly charts.
Extra-Long Lookback Period (Default: 100 bars)
Identifies significant historical highs (extra_long_high) and lows (extra_long_low) with dashed lines.
Configurable with Extra-Long Resistance Color, Extra-Long Support Color, and opacity settings.
Adjustment Tip: Use 200-500 bars for monthly charts to capture macro-level key zones.
Daily Nearest Resistance and Support Levels
Dynamically calculates the nearest resistance (daily_res_level) and support (daily_sup_level) based on the current dayโs price action relative to historical highs and lows.
Displayed with Daily Resistance Color and Daily Support Color (with opacity options).
Adjustment Tip: Works best on intraday charts (e.g., 15m, 1h) to track daily pivots; combine with volume profile for confirmation.
How It Works: These levels update dynamically as new highs/lows form, providing a visual guide to potential reversal or breakout zones.
2. SMC Inputs (Smart Money Concepts)
This section identifies swing structures, order blocks, fair value gaps, and entry signals based on SMC principles.
SMC Swing Lookback Period (Default: 12 bars)
Defines the period for detecting swing highs (smc_swing_high) and lows (smc_swing_low).
Adjustment Tip: Increase to 20-30 for smoother swings on higher timeframes; reduce to 5-10 for faster signals on lower timeframes.
Minimum Swing Size (%) (Default: 0.5%)
Filters out minor price movements to focus on significant swings.
Adjustment Tip: Raise to 1-2% for volatile markets (e.g., crypto) to avoid noise; lower to 0.2-0.3% for forex pairs with tight ranges.
Order Block Sensitivity (Default: 1.0)
Scales the size of detected order blocks (OBs) for bullish reversal (smc_ob_bull), bearish reversal (smc_ob_bear), and continuation (smc_cont_ob).
Visuals include customizable colors, opacity, border thickness, and blinking effects (e.g., SMC Bullish Reversal OB Color, SMC Bearish Reversal OB Blink Thickness).
Adjustment Tip: Increase to 1.5-2.0 for wider OBs in choppy markets; keep at 1.0 for precision in trending conditions.
Minimum FVG Size (%) (Default: 0.3%)
Sets the minimum gap size for Fair Value Gaps (fvg_high, fvg_low), displayed as boxes with Fair Value Gap Color and FVG Opacity.
Adjustment Tip: Increase to 0.5-1% for larger, more reliable gaps; decrease to 0.1-0.2% for scalping smaller inefficiencies.
How It Works:
Bullish Reversal OB: Detects a bearish candle followed by a bullish break, marking a potential demand zone.
Bearish Reversal OB: Identifies a bullish candle followed by a bearish break, marking a supply zone.
Continuation OB: Spots strong bullish momentum after a prior high, indicating a continuation zone.
FVG: Highlights bullish gaps where price may retrace to fill.
Entry Signals: Plots triangles (SMC Long Entry) when price retests an OB with a liquidity sweep or break of structure (BOS).
3. Trap Inputs
This section detects potential bull and bear traps based on price action, volume, and key level rejections.
Min Down Move for Bear Trap (%) (Default: 1.0%)
Sets the minimum drop required after a bearish OB to qualify as a trap.
Visualized with Bear Trap Color, Bear Trap Opacity, and blinking borders.
Adjustment Tip: Increase to 2-3% for stronger traps in trending markets; lower to 0.5% for ranging conditions.
Min Up Move for Bull Trap (%) (Default: 1.0%)
Sets the minimum rise required after a bullish OB to flag a trap.
Customizable with Bull Trap Color, Bull Trap Border Thickness, etc.
Adjustment Tip: Adjust similarly to bear traps based on market volatility.
Volume Lookback for Traps (Default: 5 bars)
Compares current volume to a moving average (avg_volume) to filter low-volume traps.
Adjustment Tip: Increase to 10-20 for confirmation on higher timeframes; reduce to 3 for intraday sensitivity.
How It Works:
Bear Trap: Triggers when price drops significantly after a bearish OB but reverses up with low volume or support rejection.
Bull Trap: Activates when price rises after a bullish OB but fails with low volume or resistance rejection.
Boxes highlight trap zones, resetting when price breaks out.
4. Visual Customization
Line Width (Default: 2)
Adjusts thickness of support/resistance lines.
Tip: Increase to 3-4 for visibility on cluttered charts.
Blink On (Default: Close)
Sets whether OB/FVG borders blink based on Open or Close price interaction.
Tip: Use "Open" for intraday precision; "Close" for confirmed reactions.
Colors and Opacity: Each element (OBs, FVGs, traps, key levels) has customizable colors, opacity (0-100), border thickness (1-5 or 1-7), and blink effects for dynamic visualization.
How to Use SMC+
Setup: Apply the indicator to any chart and adjust inputs based on your timeframe and market.
Key Levels: Watch for price reactions at short, long, extra-long, or daily levels for potential reversals or breakouts.
SMC Signals: Look for entry signals (triangles) near OBs or FVGs, confirmed by liquidity sweeps or BOS.
Traps: Avoid false breakouts by monitoring trap boxes, especially near key levels with low volume.
Notes:
This indicator is a visual aid and does not guarantee trading success. Combine it with other analysis tools and risk management strategies.
Performance may vary across markets and timeframes; test settings thoroughly before use.
For optimal results, experiment with lookback periods and sensitivity settings to match your trading style.
The default settings are optimal for 1 minute and 10 second time frames for small cap low float stocks.
Continuation OB are Blue.
Bullish Reversal OB color is Green
Bearish Reversal OB color is Red
FVG color is purple
Bear Trap OB is red with a green border and often appears with a Bearish Reversal OB signaling caution to a short position.
Bull trap OB is green with a Red border signaling caution to a long position.
All active OB area are highlighted and solid in color while other non active OB area are dimmed.
My personal favorite setups are when we have an active bullish reversal with an active FVG along with an active Continuation OB.
Another personal favorite is the Bearish reversal OB signaling an end to a recent uptrend.
The Trap OB detection are also a unique and Original helpful source of information.
The OB have a white boarder by default that are colored black giving a simulated blinking effect when price is acting in that zone.
The Trap OB border are colored with respect to direction of intended trap, all of which can be customized to personal style.
All vaild OB zones are shown compact in size ,a unique and original view until its no longer valid.